setter方法

@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方法,崩。
上图:

setter方法_第1张图片
屏幕快照 2015-12-22 下午2.47.22.png

你可能感兴趣的:(setter方法)