NSNullとnilを判定する
■失敗例1
UITableViewのcellを設定する部分で以下のようなコードを書きクラッシュした。
NSString *tag = (NSString *)[row objectForKey:@"tag"]; [cell.tag setText:tag]; return cell;
■失敗例2
nilの場合があるなと考えて以下のようにする。
NSString *tag = (NSString *)[row objectForKey:@"tag"];
if (tag == nil) {
[cell.tag setText:@""];
}
else {
[cell.tag setText:tag];
}
return cell;
残念ながらクラッシュは依然として起こる。
■解
tagはNSNullであり以下の判定に修正。
NSString *tag = (NSString *)[row objectForKey:@"tag"];
if (tag == nil || [tag isEqual:[NSNull null]]) {
[cell.tag setText:@""];
}
else {
[cell.tag setText:tag];
}
return cell;
参考
NSNullは配列の要素のようなオブジェクトしか許されない所でnilを表すのに用いられる
TrackBack URL :
Comments (0)
コメントはまだありません»
コメントはまだありません。
この投稿へのコメントの RSS フィード。TrackBack URL
コメントする