2012-03-26 20 views
0

Ich habe ein UITextField say txtTitle. Ich möchte zum Zeitpunkt des Einfügens von Daten in die Datenbank prüfen, ob dieses Feld leer ist.UITextField seltsames Verhalten für die Überprüfung leer

für die ich geschrieben

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

Aber wo ich bin schockiert, ist seine Arbeit nicht! Ich habe diese Art der Überprüfung vor und es funktioniert ordnungsgemäß. Aber nicht mit diesem Fall. So dass ich es mit folgenden überprüfen,

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

Es funktioniert einwandfrei.

Jetzt hier bin ich darüber verwirrt. Ich habe NSLog (@ "% @", txtTitle.text) gedruckt, ohne etwas hinein zu geben. Es ist gedruckt (null).

Jemand bitte begründen den Unterschied zwischen zwei IF-Bedingungen. stattdessen mit

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

Ich denke, der Unterschied ist zwischen einer vollständig nicht initialisierten String

Dank

Antwort

1

Vielleicht können Sie für die Länge Eigenschaft der Zeichenfolge überprüfen und eine Zeichenfolge, die initialisiert wurde, ist aber einfach leer.

this helps

-1

@Hemang Wie Sie erwähnt haben, dass NSLog Sie gibt (null) .. Sie wie

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

andere sinnvolle Nutzung vergleichen haben

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

}