nil
означает, что не имеет значения.""
означает, что для него задана пустая строка.Отображаемый вывод выглядит одинаково между этими двумя значениями, но они представляют собой два отдельных значения с двумя отдельными значениями.
Все дело в том, что в Swift существуют дополнительные функции.Иногда вам нужно провести различие между отсутствием значения (nil
) и определенным значением (любой строкой, включая пустую строку).
В действительности не так много случаев использования, когда вы решили явно использовать nil
или ""
.Чаще всего у вас есть необязательное значение String
, и вы хотите установить его в качестве метки.Поскольку свойство text
для UILabel
является необязательным, вам не нужно выполнять такие действия, как:
someLabel.text = someOptionalString ?? ""
Вы можете просто сделать:
someLabel.text = someOptionalString
При чтениизначение метки, вы можете определить, была ли когда-либо установлена метка (nil
) или она имеет определенное значение.