就可选项(?)而言,两者之间有什么区别? 我正在尝试快速拾起,似乎“?”的位置很重要,我很难理解“?”的影响。在不同的地方。
var beaconGroup:GroupData = filteredArray.firstObject? as GroupData
var beaconGroup:GroupData = filteredArray.firstObject as GroupData
最佳答案
这两行之间没有区别:
var beaconGroup:GroupData = filteredArray.firstObject? as GroupData
var beaconGroup:GroupData = filteredArray.firstObject as GroupData
首先,?
是不必要的——firstObject
已经返回了一个 Optional。使用可选的链接运算符而不实际链接进一步的成员查找或访问表达式无效。
在 Swift 1.2 中(目前在 Xcode 6.3 beta 中可用),过度使用可选链接运算符会导致编译错误:
error: optional chain has no effect, operation already produces 'AnyObject?'
关于 swift 可选(?)。两者有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28993013/