let myLabel:UILabel = UILabel(frame:CGRectMake(0, 0, 44, 44))
myLabel.text = "Primary"
print(myLabel.text)在以下方面的成果:
任择(“第一”)
我会打印(myLabel.text!)但是,这是强制打开可选包的良好做法吗?
发布于 2015-11-19 10:48:25
对于您的代码,这是可以的,因为您实际上知道您设置了一些文本。但通常你应该这样做:
if let text = myLabel.text {
print(text)
}只有在文本存在的情况下,才会打印文本。
发布于 2015-11-19 11:00:08
您可以只使用零合并操作符。
let myLabel:UILabel = UILabel(frame:CGRectMake(0, 0, 44, 44))
myLabel.text = "Primary"
print(myLabel.text ?? "")操场对解决这些问题很有好处。

发布于 2015-11-19 10:58:37
如果您正在使用Swift 2:
func print(){
guard let text = myLabel.text else {
return
}
print(text);
}对于Swift <2
if let text = myLabel.text {
print(text)
}回答你的问题:
检查可选选项是否为null总是更好。因为如果你不这么做,而且它是空的,你的应用程序就会崩溃。通常我会用如果让我检查这个..。
var userInput
func doSth(){
//do Sth
if let _ = myLabel.text {
userInput = myLabel.text
} else {
myLabel.text = "Welcome"
}
//do Sth
} https://stackoverflow.com/questions/33801666
复制相似问题