我一直在使用可选项.我已将字符串变量声明为可选项
var str: String?
Run Code Online (Sandbox Code Playgroud)
现在我在这个变量中设置了一些值str = "hello".现在,如果我打印这个可选项而不打开它,那么它打印为
可选("你好")
但是,如果我在标签上设置文本,self.label.text = str那么它只显示值
你好
请解释为什么它不会在标签上显示文字
可选("你好")
该text属性UILabel是可选的.UILabel足够聪明,可以检查text属性的值是设置为nil非零值还是非零值.如果不是nil,则显示正确解包(现在是非可选)值.
在内部,我想象代码的drawRect方法UILabel如下:
if let str = self.text {
// render the non-optional string value in "str"
} else {
// show an empty label
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
448 次 |
| 最近记录: |