0

私は UITextField を txtTitle と言います。データベースにデータを挿入するときに、そのフィールドが空白になっていないかどうかを確認したい。

そのために書いた

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

しかし、私がショックを受けたのは、それが機能していないことです! 以前にこれらのタイプのチェックを行ったところ、適切に機能していました。しかし、この場合はそうではありません。以下を使用して確認するように、

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

正常に動作しています。

ここで私はこれについて混乱しています。以前は、何も入力せずに NSLog(@"%@",txtTitle.text) を出力していました。その印刷された (null)。

誰かが 2 つの IF 条件の違いを正当化してください。

ありがとう

4

2 に答える 2

1

代わりに、文字列の長さプロパティを確認できます。

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

違いは、完全に初期化されていない文字列と、初期化されているが単に空である文字列の違いだと思います。

お役に立てれば

于 2012-03-26T05:36:12.370 に答える
-1

@Hemang NSLog が (null) を与えると述べたように、次のように比較する必要があります

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

他の賢明な使用

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

}
于 2012-03-26T05:41:08.490 に答える