【发布时间】:2015-06-22 03:47:51
【问题描述】:
我正在学习 Swift。在第一印象中,我看不出将常量(没有初始存储值)声明为类中的可选项
例如:
let userName: String?
因为默认初始化程序会将其分配给nil,并且随后无法更改(因为它是一个常量)。
据我了解,自定义初始化程序仍然可以为其分配非零值,但在这种情况下,您不会将其声明为 let userName: String(即非可选)
我原以为如果这是一种冗余模式,Apple 会提到它,但我看不出他们有。那么在什么情况下Optional 常量声明会被使用或有用呢?
【问题讨论】:
-
假设您有一个用户通过电子邮件注册的应用,他们可以选择性地输入用户名。并且您想将两条信息都传递给下一个控制器。下一个控制器知道这些值在其生命周期内都不会改变,但 userName 是可选的。因此,您将其声明为
String?。
标签: swift initialization constants optional