Понимание сравнения необязательных строк - PullRequest
0 голосов
/ 16 сентября 2018

Я использую следующий код:

let optionalString:String? = ""
print(optionalString == nil)

Необязательный String содержит нулевое значение. Однако при сравнении он печатает false. Я не понимаю, почему это так при запуске программы. Может кто-нибудь объяснить, почему это происходит?

Ответы [ 3 ]

0 голосов
/ 16 сентября 2018

Если вы хотите создать экземпляр вашей строки как NULL, то вы должны объявить ее такnil значение, которое невозможно изменить.

0 голосов
/ 16 сентября 2018

опционально в Swift - это тип, который может содержать упакованное значение или ноль

var name:String? 
var name:String? = nil

имя имеет необязательный тип и может иметь строковое или нулевое значение
имя сейчас nill

name = ""

name - необязательная строка, имеющая это "" значение

ПРИМЕЧАНИЕ: "" это значение является пустой строкой не ноль, а ""! = ""! = "" И т. Д.

0 голосов
/ 16 сентября 2018

Это "" не является nil значением

let optionalString:String?=""

, было бы, если бы вы объявили это так

var optionalString:String?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...