Once
A simple thread safe replacement for Dispatch Once and pthread_once for Swift.
Swift Package Manager
Update your Package.swift
to include the appropriate dependency below:
Swift 5.2+
.package(name: "Once", "https://github.com/bscothern/Once.git", from: "1.4.0")
Swift 4.0-5.1
.package(url: "https://github.com/bscothern/Once.git", from: "1.3.2")
Carthage Usage
Include this line in your Cartfile
:
github "bscothern/Once"
Usage
import Once
let once = Once()
func foo() {
once.runOnce {
// Do stuff that should only execute the first time foo() is called.
}
// Do stuff
}