什么时候我应该将一个可选的值与零进行比较?通常,您需要编写如下代码:if someOptional != nil {
// do something with the unwrapped someOptional e.g.
someFunction(someOptional!)}这似乎有点冗长,而且我还听说使用!强制展开操作符可能是不安全的,最好避免。有更好的方法来处理这件事吗?
3 回答
慕姐8265434
TA贡献1813条经验 获得超2个赞
if someOptional != nil { someFunction(someOptional!)}
if someOptional != nil { someFunction(SomeOptional!)}
潇湘沐
TA贡献1816条经验 获得超6个赞
可选链接是用于查询和调用当前可能为零的可选项的属性、方法和下标的进程。如果可选项包含值,则属性、方法或下标调用将成功;如果可选项为零,则属性、方法或下标调用返回nil。多个查询可以链接在一起,如果链中的任何链接为零,则整个链将优雅地失败。
class Person { var residence: Residence?}class Residence { var numberOfRooms = 1}let john = Person()if let roomCount = john.residence?.numberOfRooms { println("John's residence has \(roomCount) room(s).")} else { println("Unable to retrieve the number of rooms.")}// prints "Unable to retrieve the number of rooms."
- 3 回答
- 0 关注
- 472 浏览
添加回答
举报
0/150
提交
取消