2012-03-26 5 views
0

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

Для этого я письменного

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

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

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

Он работает исправно.

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

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

Благодаря

ответ

1

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

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

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

Надеется, что это помогает

-1

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

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

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

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

}