这个问题问得很多,但是这个问题是为了得到每种方法何时使用的示例。 请使用除setter和getter无限循环之外的示例。
例如:
.h -
@property(nonatomic, strong)NSMutableArray* mutArray
.m -
@synthesize mutArray= _mutArray;
1)我该选择:
_mutArray = [[NSMutableArray alloc] init];
还是
self.mutArray=[[NSMutableArray alloc] init];
我为什么要这样做,它们有什么区别?!
2)如果我想要向其中添加一个对象...
[_mutArray addObject:object];
还是
[self.mutArray addobject:object];
为什么这样做?!
非常感谢!
setNeedsDisplay
更容易调试。这会导致一些“有点工作,除非它们不工作”的事情,这些事情极难调试。当你不知道它会发生时运行访问器会显示在堆栈跟踪中。未能运行您不知道需要运行的访问器...那很难找到。 - Rob Napier[self mutArray]
,而第一个则会。默认getter实际上具有原子包装器,这是不同的。您的注释示例可以重写为[[self arr] addObject:object]
。(这正是我们在点语法之前编写它的方式。) - Rob Napier