为了账号安全,请及时绑定邮箱和手机立即绑定

带有“?”(问号)和“!”(感叹号)的快速变量修饰

带有“?”(问号)和“!”(感叹号)的快速变量修饰

慕容708150 2019-11-25 13:11:23
我了解在Swift中所有变量都必须设置一个值,并且通过使用可选参数,我们可以将变量设置为nil初始值。我不明白的是,用a设置变量的作用!是什么,因为我的印象是这会“取消包装”来自可选值的值。我认为通过这样做,您可以保证在该变量中有一个要解包的值,这就是为什么在IBActions上使用这种值的原因。简而言之,当您执行以下操作时,将初始化为什么变量:var aShape : CAShapeLayer!以及为什么/何时会这样做?
查看完整描述

2 回答

?
慕少森

TA贡献2019条经验 获得超9个赞

我认为“ 这基本上是我们在Objective-C中已经存在的行为 ” 句话可能会造成混淆。在Objective-C中,人们可以访问一个nil值并实际“使用”它,而在nil为零时快速访问一个隐式展开的可选内容抛出运行时异常。

查看完整回答
反对 回复 2019-11-25
  • 2 回答
  • 0 关注
  • 971 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信