次のようなオブジェクトクラスをチェックせずに、値が辞書で NSNULL であるかどうかを判断する簡単な方法はありますか
[[dict objectForKey:@"foo"] class] != [NSNull null];
次のようなオブジェクトクラスをチェックせずに、値が辞書で NSNULL であるかどうかを判断する簡単な方法はありますか
[[dict objectForKey:@"foo"] class] != [NSNull null];
オーガの言うことを実行できますが、できれば次を使用する必要があります。
id someObject = [dict objectForKey:@"foo"];
if (someObject != [NSNull null]){
//do something
}
[NSNull null] はシングルトンであり、そのうちの 1 つしか存在しないため、直接比較を実行できます。これは、ここのドキュメントで使用されているものです。
したがって、null オブジェクト値をテストするには、オブジェクトを直接比較する必要があります。
これが推奨される方法です。
編集: これは、Ogres が同一性比較を使用するように投稿を編集する前に書かれたものです。