它说我们可以检查对象是否为空...
XYZPerson *somePerson;
// somePerson is automatically set to nil
if (somePerson != nil) {
// somePerson points to an object
}
我很可能做错了什么,但需要你的帮助来找到它是什么。 我有一个C2类,我创建C2对象但没有初始化,当检查下面的代码时,app写入NOTNİL输出。我做错了什么。
感谢您的帮助。
C2 * o3;
if (o3 != nil) {
NSLog(@"NOT NİLLLL");
}else{
NSLog(@"NOT");
}
答案 0 :(得分:5)
与初始化时归零的类的成员不同,本地变量不会由ARC前编译器自动初始化。如果您希望本地o3
为nil
,则需要自行初始化:
C2 * o3 = nil;
除非程序明确指示,否则不初始化本地的行为来自C:默认情况下,本地人也没有初始化。