2012-03-07 3 views
0

テキストボックスに明確な値が設定されている場合に、このステートメントがYESになる理由を教えてください。値のあるTextFieldは空であると見なされますか?

UITextFieldtext = 'dcxcv' clipsToBounds = YES opaque = NO;

if (self.entityName.text != @"") { 
     return NO; 
    } 
+0

ランダムな文字列@ "foo"のような値が@ ""と異なるため?そして、(@ "foo" **!= ** @ "")が真ならば –

+0

あなたのコードに矛盾した二重ネガティブを置くことができますか?何かが何か等しくなければ何かを返さない? – jrturton

答えて

4

これを試してみてください。

if ([self.entityName.text isEqualToString:@""]) { 
} 

で:ポインタがプロパティが異なっているテキストにあればあなたがテストしている

self.entityName.text != @"" 

@ ""、常に真です。

1

文字列を比較したい場合、アプローチは間違っています。objective-cはこれを処理する素晴らしい方法を提供します。代わりに使用したの :

if (self.entityName.text != @"") { 
     return NO; 
    } 

これを試してみてください。

if ([self.entity.text isEqualToString:@""]) 
{ 
    return NO; 
} 

あなたはそれはあなたが書いたものを知っていないされているため、Objective-Cのでは認識されません行ったアプローチを、それが持っているこの@:""を言及することにより、あなたが文字列を比較しようとしていることを知る。これがあなたを助けることを望みます。

関連する問題