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