我应该在哪里使用nil,其他人应该在哪里Null Nil 现在我想将nil val分配给一个字符串 的NSString =无;
答案 0 :(得分:1)
要获得nil
和null
的不同,请参阅Objective-C: What's the difference between NULL, nil and @""?
如果您想将nil
或null
分配给NSString
,您应该写
NSString *myStr = @""; // it empty/nil/null
您可以通过
检查字符串是否为空if([myStr length] == 0) // or if([myStr isEqual:[NSNull class]])
{
// empty string;
}
else
{
// not empty string;
}
答案 1 :(得分:0)
nil用于表示objective-c中的空指针作为对象。 Nil表示类的空指针。 NULL实际上与nil相同。它在MacTypes.h中定义为
// MacTypes.h
#define nil NULL
你还应该提到NSNull,它可以用来表示NSArray,NSDictionary等中的空值。
答案 2 :(得分:0)
这三个值中的所有三个都表示null或零指针值。不同之处在于,对于任何指针,NULL表示零,nil特定于对象(例如,id),Nil特定于类指针。在正确的环境中使用正确的空对象进行记录时应该被认为是最佳实践,即使没有什么能阻止某人在进行混合和匹配时。