一尘不染

斯威夫特2:!,?-“可选类型“…”的值未包装”

swift

可选类型“ …”的值未包装;你是说用’!’ 要么 ‘?’?

有人可以向我解释此错误消息的确切含义吗?我什么时候应该使用“?” 什么时候 ‘!’?


阅读 274

收藏
2020-07-07

共1个答案

一尘不染

obj?.fn()``fn如果对象不为null,则调用成员函数,否则不执行任何操作。

obj!.fn()另一方面断言obj不为null,然后调用fn。如果对象 null,则将引发异常。

因此,在确定性上是有区别的:您可以询问或直接声明可为空的对象的可为空的属性。

2020-07-07