我有以下方法:
-(NSMutableArray *)someArray{ // line 1
if(self.someArray == nil){ // line 2
self.someArray = [[NSMutableArray alloc]init];
}
return self.someArray;
}
我在非ARC中有此功能,并且工作正常:如果第2行中的
self.someArray
是nil
,则继续进行实例化。但是,在切换到ARC之后,当它到达第2行时,它又回到第1行,并且循环继续进行。
任何帮助将不胜感激。
谢谢。
最佳答案
正确的形式是
@synthesize someArray = _someArray;
- (NSMutableArray *)someArray {
if (!_someArray) {
_someArray = [NSMutableArray array];
}
return _someArray;
}
关于ios - objective-c :转换为ARC后的无限 setter/getter 方法循环,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14783727/