可选字符串与空



String? vs ">

为什么 Apple 在许多情况下(但不是在所有情况下(都使用可选String?例如,如果您有 UILabel ,则可以通过两种方式清除它:

label.text = ""
label.text = nil

因为text属性是Optional<String>

他们为什么要这样做?仅仅是为了与Objective-C兼容,还是有任何其他实际原因?存储nil是否比存储""更节省内存?String?的表现会比String?稍微好一点吗?

假设我需要创建一个带有文本属性的结构或类,它可以是空的。它应该是可选的吗?

当一个对象(在本例中为文本字段(被nil时,它不存在,也不使用任何内存。另一方面,空的 String 对象""会占用内存并需要更多时间来检查。

是否使用可选很大程度上取决于您的任务。您应该在文档中阅读有关指针和可选内容的更多信息。

当你把一个字符串放到 " 时,你正在使用内存位置,它在内存中有一个引用,但另一方面,如果你把一个字符串放在 nil 上,它将在内存中释放它的引用并释放该位置。

相关内容

  • 没有找到相关文章

最新更新