UITextField странное поведение для пустой проверки - PullRequest
0 голосов
/ 26 марта 2012

У меня есть UITextField, скажем, txtTitle. Я хочу проверить, не заполнено ли это поле во время вставки данных в базу данных.

Для этого я написал

if(![txtTitle.text isEqualToString:@""])
{
   //Save
}

Но где я в шоке, это не работает! Я сделал этот тип проверки раньше, и он работает правильно. Но не с этим делом. Так что я проверил это, используя следующее,

if(txtTitle.text!=NULL)
{
   //Save
}

Работает нормально.

Теперь вот я смущаюсь по этому поводу. Раньше я печатал NSLog (@ "% @", txtTitle.text), ничего не вводя в него. Его напечатано (ноль).

Кто-то, пожалуйста, объясните разницу между двумя условиями ЕСЛИ.

Спасибо

Ответы [ 2 ]

1 голос
/ 26 марта 2012

Возможно, вы можете вместо этого проверить свойство длины строки, используя

if([txtTitle.text length] > 0){
// Save
}

Я думаю, что разница между полностью неинициализированной строкой и строкой, которая была инициализирована, но просто пуста.

Надеюсь, это поможет

0 голосов
/ 26 марта 2012

@ Hemang Как вы уже упоминали, NSLog дает вам (ноль) .. вы должны сравнить, как

[txtTitle.text isEqualToString:@"(null)"]

другое мудрое использование

if([txtTitle.text length] > 0)
{

}
...