check wenn NSNumber leer ist
Wie überprüfe ich, ob ein NSNumber-Objekt leer oder leer ist?
OK Null ist einfach:
NSNumber *myNumber;
if (myNumber == nil)
doSomething
Aber wenn das Objekt erstellt wurde, es aber keinen Wert enthält, weil eine Zuweisung fehlgeschlagen ist, wie kann ich dies überprüfen? Verwenden Sie so etwas?
if ([myNumber intValue]==0)
doSomething
ibt es eine allgemeine Methode zum Testen von Objekten auf Leere wie für NSString (siehe diesePos)?
Beispiel
NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];
[dict setValue:@"" forKey:@"emptyValue"];
NSNumber *emptyNumber = [dict objectForKey:@"emptyValue"];
Welcher Wert hatemptyNumber
enthalten? Wie kann ich prüfen, obemptyNumber
ist leer
Beispiel 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;
Was passiert, wenn ich das nach @ benutemptyNumber
wurde auf nil gesetzt?
[emptyNumber intValue]
Bekomme ich null?
Beispiel 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!");
Auf diese Weise wird NSLog niemals aufgerufen.myEmptyValue
ist nichtnil
und nichtNSNull
. Es enthält also eine beliebige Zahl?