我有一個類,它看起來有點像:如何在Swift 3.1中只調用一次函數?
final class Token {
..........
public enum Result {
case Success()
case Failure(Error)
}
private var successClosure : (() -> Void)?
private var failureClosure : ((Error) -> Void)?
public func completed(withResult result: Token.Result) {
switch result {
case .Success: successClosure?()
case .Failure(let error): failureClosure?(error)
}
}
..........
}
我想執行調用completed(withResult:)
只有一次的能力。
有沒有方法將上面的completed(withResult:)
方法轉換爲與Swift 3.1兼容的方法?
這個「一次」的範圍是什麼?一次爲應用程序的生命週期安裝?每次執行應用程序一次?類實例的每個生命週期一次?還有別的嗎? – rmaddy
每個場景都可以用一個簡單的布爾測試來解決。 – the4kman
一次用於類實例的生命週期。 –