Sind NULL und null gleichwertig?
Eigentlich ist meine Frage hier: sindnull
undnil
gleichwertig oder nicht?
Ich habe ein Beispiel, aber ich bin verwirrt, wenn sie gleich sind, wenn sie nicht sind.
NSNull *nullValue = [NSNull null];
NSArray *arrayWithNull = [NSArray arrayWithObject:nullValue];
NSLog(@"arrayWithNull: %@", arrayWithNull);
id aValue = [arrayWithNull objectAtIndex:0];
if (aValue == nil) {
NSLog(@"equals nil");
} else if (aValue == [NSNull null]) {
NSLog(@"equals NSNull instance");
if ([aValue isEqual:nil]) {
NSLog(@"isEqual:nil");
}
}
Hier im obigen Fall zeigt es, dass beidenull
undnil
sind nicht gleich und es zeigt "entspricht NSNull Instanz"
NSString *str=NULL;
id str1=nil;
if(str1 == str)
{
printf("\n IS EQUAL........");
}
else
{
printf("\n NOT EQUAL........");
}
Im zweiten Fall sind beide gleich und es wird "IS EQUAL" angezeigt.
Jede Hilfe wird sehr geschätzt.
Danke, Monish.