检查对象是否为零时出了什么问题



我已经阅读了苹果 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 编译器不会自动初始化局部变量。如果您希望本地o3nil,则需要自己初始化它:

C2 * o3 = nil;

除非程序明确指示,否则不初始化局部变量的行为来自 C:默认情况下,局部变量也不初始化。

相关内容

  • 没有找到相关文章

最新更新