2016-07-09 5 views
0

Итак, когда я нажимаю кнопку, я проверяю, имеют ли UITextField и UITextView какое-то значение внутри них, но если они ноль, выполните это.Как проверить нулевую строку, если условие swift

Так что я попытался это, но он не работает:

@IBOutlet weak var defTextView = UITextView 

@IBAction func btnTapped(sender: UIButton) { 

    if let definitionName = defTextView.text { 

     print(definitionName) 

    } else { 

     print("nil") 

    } 
} 

Вместо того чтобы получать слово «ноль» Я получил пустые строки приносят печататься

ответ

4

defTextView.text пуст Строка "" вместо nil.

Try где положение, чтобы проверить, если он пуст:

@IBOutlet weak var defTextView = UITextView 

@IBAction func btnTapped(sender: UIButton) { 

    if let definitionName = defTextView.text where !definitionName.isEmpty { 

     print(definitionName) 

    } else { 

     print("nil") 

    } 
} 
0

попробовать следующий код

if defTextView.text != nil || !(defTextView.text == "") { 

    print(definitionName) 

} else { 

    print("nil") 

} 
+0

Я попробовал это с помощью if! (DefTextView.text == "") {}, и это сработало спасибо! – user54272

+0

Отлично! Добро пожаловать. –

0

Ваш код должен работать, однако, помнить, что пустая строка не nil. Текст UITextView вряд ли будет равен нулю, поэтому я бы использовал оператор if, чтобы проверить, является ли он пустой строкой, а также, если разрешить разворачивание.

Например, используйте вместо этого:

if let defenitionName = defTextView.text where defTextView.text != nil { 
    print(definitionName) 
} else { 
    print("none") //Not necessarily nil. 
} 
0

Вопрос на самом деле бессмысленно, поскольку текст зрения текста никогда не nil.

Согласно документации свойства text из UITextView неявных развернутого опционально - в отличие от UILabel которого text может быть nil.

Таким образом, гарантируется, что он не будет nil, когда он используется, и вам нужно только проверить пустую строку, необязательное связывание или != nil не требуется.

@IBAction func btnTapped(sender: UIButton) { 

    let definitionName = defTextView.text 
    if definitionName.isEmpty { 
     print("definitionName is empty") 
    } else { 
     print("definitionName is not empty") 
    } 
} 
Смежные вопросы