Objective-C中的访问者调用

pra*_*jul 2 setter objective-c accessor

有什么区别:

self.ivar;
self->ivar;
ivar;
Run Code Online (Sandbox Code Playgroud)

ivar在客观C 中访问的方式.

什么时候会调用setter?

Mik*_*ler 7

self->ivarivar直接访问实例变量.不调用访问器方法.

foo = self.ivar将调用[self ivar]访问方法(或@propertygetter=方法,如果你指定它的方式)

self.ivar = foo;港岛线调用[self setIvar:foo]访问方法(或@propertysetter=方法).