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