跳到主要内容

Swift 的 Optional 有一个 take() 函数

· 阅读需 1 分钟
GoSwiftUI
goswiftui.com

继 2018 年引入 Optional.toggle() 之后,我以为自己已经掌握了 Optional 的全部知识,但今天又学到了一个新方法:Optional.take()

继 2018 年引入 Optional.toggle() 之后,我以为自己已经掌握了 Optional 的全部知识,但今天又学到了一个新方法:Optional.take()。正如文档所述,它返回可变 Optional 的值(如果不为 nil),并将该变量重置为 nil

var myInt: Int? = 42
var myOtherInt = myInt.take() // 42
print(myInt) // nil

因为即使 myIntnil 时该方法也能正常调用,所以 take() 同样返回一个 Optional 类型。虽然算不上颠覆性的发现,但偶尔能帮你省去一行代码。

原文地址:https://www.scottberrevoets.com/til/optional-has-a-take-function