gpt4 book ai didi

swift - Swift 中的 "?"和 "!"有什么区别?

转载 作者:IT王子 更新时间:2023-10-29 05:13:35 25 4
gpt4 key购买 nike

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

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

attachment.image!.sizeattachment.image?.size 有什么区别?

最佳答案

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

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

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

阅读关于 Swift Optionals 的所有文档.它是语言的基本部分。

关于swift - Swift 中的 "?"和 "!"有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25895098/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com