【发布时间】:2010-03-17 10:56:26
【问题描述】:
其实我的问题是:null 和 nil 是否等效?
我有一个例子,但是当它们不相等时我很困惑。
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");
}
}
在上面的例子中,它显示null 和nil 不相等,它显示“等于 NSNull 实例”
NSString *str=NULL;
id str1=nil;
if(str1 == str)
{
printf("\n IS EQUAL........");
}
else
{
printf("\n NOT EQUAL........");
}
在第二种情况下,它显示两者相等并显示“IS EQUAL”。
任何人的帮助将不胜感激。
谢谢你, 莫尼什。
【问题讨论】:
标签: objective-c null nsnull