我习惯在我的代码中使用
myClass.h
@property ( strong, nonatomic ) ClassA *varA
myClass.m
varA = [[ClassA alloc] init];
if ( varA isEqual:nil )
NSLog@"var A is nil");
else
NSLog@"var A is not nil");
这是来自控制台的结果
var A is not nil
我认为var A应该是零。所以我的问题是蓝线是什么以及为什么var A毕竟不是零
答案 0 :(得分:0)
所以,在你在一个内存空间中分配对象之后,nil值就会消失,你也可以在调用init
方法时将ivars的值设置为某个值,你可以在其中调用{ {1}}或类似的东西,这样你就可以得到父对象的特征。
希望这能回答你的问题。
答案 1 :(得分:0)
你刚刚分配了varA,然后你有一个ClassA对象,你没有释放它或将它设置为nil,那你为什么期望它为零呢?
这是正常的行为,就像你刚给自己做了一杯好咖啡,如果你没有喝酒/扔(释放或设置为零),你的咖啡应该还在那里,对吗?