NSNumber オブジェクトが nil か空かを確認するにはどうすればよいですか?
OK nil は簡単です:
NSNumber *myNumber;
if (myNumber == nil)
doSomething
しかし、オブジェクトが作成されたが、割り当てが失敗したために値がない場合、どうすればこれを確認できますか? このようなものを使用しますか?
if ([myNumber intValue]==0)
doSomething
利用可能な NSString のような空でオブジェクトをテストするための一般的な方法はありますか (この投稿を参照)?
例 1
NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];
[dict setValue:@"" forKey:@"emptyValue"];
NSNumber *emptyNumber = [dict objectForKey:@"emptyValue"];
どの値がemptyNumber
含まれていますか? emptyNumber
が空かどうかを確認するにはどうすればよいですか?
例 2
NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];
[dict setValue:@"" forKey:@"emptyValue"];
NSString *myString = [dict objectForKey:@"emptyValue"];
if (myString == nil || [myString length] == 0)
// got an empty value
NSNumber *emptyNumber=nil;
emptyNumber
nil に設定した後でこれを使用するとどうなりますか?
[emptyNumber intValue]
私はゼロになりますか?
例 3
NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];
[dict setValue:@"" forKey:@"emptyValue"];
NSNumber *myEmptyValue = [dict objectForKey:@"emptyValue"];
if (myEmptyValue == nil)
// NSLog is never called
NSLog(@"It is empty!");
このように NSLog は呼び出されません。myEmptyValue
ありませnil
んNSNull
。それで、それは任意の数を含んでいますか?