示例:
验证方法包含此检查以查看是否应创建NSError对象:
- (BOOL)validateCompanyName:(NSString *)newName error:(NSError **)outError {
if (outError != NULL) {
// do it...
现在我传递一个NSError对象,如下所示:
NSError *error = nil;
BOOL ok = [self validateCompanyName:@"Apple" error:&error];
我不确定这是否与非NULL检查匹配。我认为它不是NULL,因为我认为NULL不是零。也许有人可以解决这个问题?
答案 0 :(得分:6)
nil
(全小写)是指向Objective-C对象的空指针。
Nil
(大写)是指向Objective-C类的空指针。
NULL
(全部大写)是指向其他任何内容的空指针。
然而他们都编译到0
,所以(nil == Nil == NULL == 0)
(感谢Dave)。