将标签的文本设置为nil或将其设置为“”有什么区别?

时间:2019-07-01 17:47:07

标签: swift uilabel

我有一个UILabel,在某些情况下,我想保留标签文本为空。

发生在我身上的一种方式是:

myLabel.text = nil

另一个:

myLabel.text = "" 

一种形式与另一种形式有什么区别? 哪个更好,为什么?

1 个答案:

答案 0 :(得分:2)

var onlyWithPositiveValues = allNumbers.Filter(it => it.Value > 0); 表示它没有价值。 nil表示将其设置为空字符串。两者之间显示的输出相同,但是它们是两个单独的值,具有两个单独的含义。

归结为在Swift中存在可选选项的全部原因。有时您需要区分无值("")和特定值(任何字符串,包括空字符串)。

实际上,并没有很多用例可以决定明确使用nilnil。更常见的是,您有一些可选的""值,并且想要将其设置为标签。由于String的{​​{1}}属性是可选的,因此您无需执行以下操作:

text

您可以简单地做到:

UILabel

读取标签的值时,可以确定标签是否已设置(someLabel.text = someOptionalString ?? "" )或具有特定值。