2013年5月30日木曜日

NSStringの空の判定

NSStringの空の判定についてメモ。

判定の仕方

やり方は通常は(1)のようにisEqualToStringメソッドで行うと思うのですが、判定できないことがありました(未だに原因は分かっていません)。その場合は(2)のようにlengthメソッドで文字数を見て判定してあげればいいようです。
NSString *str = @"abc";

// (1)
if(str isEqualToString:@""]){
  NSLog(@"nil");
}
// (2)
if([str length] == 0){
  NSLog(@"nil");
}

// (3)
if(str isEqualToString:@""] || [str length] == 0){
  NSLog(@"nil");
}
なぜ(1)で正確に判定できないときがあるんだろう。おそらく個人的なミスが原因でしょう・・・。
ですが念のため、判定の際は(3)のように両方で判定してあげるといいかもしれません。

参考記事

NSStringの空チェック - Prototype

0 件のコメント:

コメントを投稿