我已经阅读了苹果 http://developer.apple.com/library/ios/#documentation/cocoa/conceptual/ProgrammingWithObjectiveC/WorkingwithObjects/WorkingwithObjects.html 的文档
它说我们可以检查对象是否为空,例如...
XYZPerson *somePerson;
// somePerson is automatically set to nil
if (somePerson != nil) {
// somePerson points to an object
}
很可能我做错了什么,但需要你的帮助才能找到它是什么。 我有一个C2类,我创建了C2对象但没有初始化,当检查下面的代码时,应用程序写入不是NİL输出。我做错了什么。
感谢您的帮助。
C2 * o3;
if (o3 != nil) {
NSLog(@"NOT NİLLLL");
}else{
NSLog(@"NOT");
}
与初始化时清零的类的成员不同,预 ARC 编译器不会自动初始化局部变量。如果您希望本地o3
nil
,则需要自己初始化它:
C2 * o3 = nil;
除非程序明确指示,否则不初始化局部变量的行为来自 C:默认情况下,局部变量也不初始化。