swift 可选(?)。两者有什么区别?

标签 swift syntax null optional-parameters option-type

就可选项(?)而言,两者之间有什么区别? 我正在尝试快速拾起,似乎“?”的位置很重要,我很难理解“?”的影响。在不同的地方。

    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/

相关文章:

c# - C# 中的接口(interface)实现语法选项

bash - 我们什么时候需要用大括号括住 shell 变量?

MYSQL 计数 - 如果为空则返回 0

c++ - NULL 在类析构函数中

swift - 无法使用 Swift 在 Metal 中加载默认库

ios - 类型 'Binder<UIImage?>' 的值没有成员 'bind'

ios - Firebase google登录身份验证AppDelegate-使用未解析的标识符 'isMFAEnabled'

html - CSS 类和 ID 结构/命名

c - C中三元运算符采用不同操作数类型的原理

ios - 如何在 Swift 中拆分 JSON 字符串?