“”和“之间有什么区别?” 和“!” 在Swift中?

雅利安人

我知道什么?和“!” 意思是当我在Swift中声明变量时。但是使用这些变量时它们是什么意思例如,在此代码中:

var attachment: NSTextAttachment = NSTextAttachment()
attachment.image = UIImage(named: "placeholder.png")
attachment.image!.size ... // or attachment.image?.size ...

attachment.image!.size之间有什么区别attachment.image?.size

亚伦·布拉格(Aaron Brager)

使用attachment.image!.size,如果你保证image?nil如果您错了(是nil),您的应用将崩溃。这称为强制展开

如果您不确定会不会nil,请使用image?

在您的情况下image!可以,因为您可以控制是否placeholder.png存在。

阅读有关Swift Optionals的所有文档这是语言的基本组成部分。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

python中“ append”和“ +”之间有什么区别?

AOP中的Advisor和Aspect之间有什么区别?

ConditionPathExists =和ConditionPathExists = |之间有什么区别 在systemd中?

JavaScript中的(for ... in)和(for ... of)语句之间有什么区别?

rxjs中的Observable和Subject之间有什么区别?

JUnit中的失败和错误之间有什么区别?

angularJS中的&vs @和=之间有什么区别

Python中的模块和库之间有什么区别?

JMS中的MessageListener和Consumer之间有什么区别?

在Python中,“。append()”和“ + = []”之间有什么区别?

<%...%>和<%之间有什么区别!...%>在jsp中

Maven中的package和groupId之间有什么区别

在Docker中,容器和映像之间有什么区别?

Bash中[和[[之间有什么区别?

XML中的元素和节点之间有什么区别?

Swift中的NSDictionary和Dictionary之间有什么区别?

pdb中“ next”和“ until”之间有什么区别

docker中的图层和图像之间有什么区别?

在phpunit中,__construct和setup之间有什么区别?

Qt中的插槽和方法之间有什么区别?

JavaScript中的({})和{}之间有什么区别?

之间有什么区别?和*在Bash中?

XPath中“ element”和“ // element”之间有什么区别?

React和Express中的路由之间有什么区别

bash中<<,<<和<<之间有什么区别?

Vim中的`syntax`和`filetype`之间有什么区别?

命令中的“-”和“-”之间有什么区别?

PHP中的while(true)和for(;;)之间有什么区别?

颤动中的 Equatable 和 Freezed 之间有什么区别?