寻找文档、名称或链接,介绍这个特定行为,它类似于可选绑定但在文档的该部分中没有被提到。
我可以使用“==”运算符测试可选项,并针对nil和其实际值进行测试,而无需进行任何明确的解包操作。
这段代码可以编译并按预期运行,但是需要注意的是,我没有显式地取消
这种方式很方便,但当我注意到它时,我有点惊讶。这只是默认的
我可以使用“==”运算符测试可选项,并针对nil和其实际值进行测试,而无需进行任何明确的解包操作。
var toggle: Bool? = nil
if (toggle == true || toggle == nil) {
// do something
}
这段代码可以编译并按预期运行,但是需要注意的是,我没有显式地取消
toggle!
;==
已经安全地为我完成了这个操作。这种方式很方便,但当我注意到它时,我有点惊讶。这只是默认的
==
实现行为吗?还是语言中发生了其他事情?感谢您的见解。
==
上按住 Command 键点击,你会发现有一个public func ==<T : Equatable>(lhs: T?, rhs: T?) -> Bool
函数,它接受两个可选类型作为操作数。 - Martin R