我有一个UILabel
,在某些情况下,我想保留标签文本为空。
发生在我身上的一种方式是:
myLabel.text = nil
另一个:
myLabel.text = ""
一种形式与另一种形式有什么区别? 哪个更好,为什么?
答案 0 :(得分:2)
var onlyWithPositiveValues = allNumbers.Filter(it => it.Value > 0);
表示它没有价值。 nil
表示将其设置为空字符串。两者之间显示的输出相同,但是它们是两个单独的值,具有两个单独的含义。
归结为在Swift中存在可选选项的全部原因。有时您需要区分无值(""
)和特定值(任何字符串,包括空字符串)。
实际上,并没有很多用例可以决定明确使用nil
或nil
。更常见的是,您有一些可选的""
值,并且想要将其设置为标签。由于String
的{{1}}属性是可选的,因此您无需执行以下操作:
text
您可以简单地做到:
UILabel
读取标签的值时,可以确定标签是否已设置(someLabel.text = someOptionalString ?? ""
)或具有特定值。