bscothern / Once

A replacement for Dispatch Once in Swift

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Once

GitHub license SPM Carthage compatible

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
}

About

A replacement for Dispatch Once in Swift

License:MIT License


Languages

Language:Swift 58.4%Language:C 37.5%Language:Objective-C 4.1%