setter方法

2015-12-22  本文已影响52人  HaibaraAii

@property int x;使用了@property指令后,编译器会默认生成其setter和getter方法。
//@synthesize x;在使用了synthesize 指令后变量名为x,如果不使用synthesize, 编译器生成的实例变量会以下划线_作为名称的第一个字符,即_x。

- (void)setX:(int)x{
    self.x = x;
}

使用self.x = x访问变量时,实际上访问的时self.x的setter方法,即[self setX:x],此处用这种方法set变量X的值,会造成循环调用setX方法,崩。
上图:

屏幕快照 2015-12-22 下午2.47.22.png
上一篇 下一篇

猜你喜欢

热点阅读