setter

来源:互联网 发布:java实现加减乘除代码 编辑:程序博客网 时间:2024/05/16 10:35
成员变量跟属性有不同一概念,属性是指@property定义的,使用self.××访问,调用的是Getter和Setter方法,而成员变量指的是interface里面的变量,不使用self来访问,也不调用Getter和Setter方法。所以:
类似@property (nonmatic, retain) NSObject *object,使用self.object = [[NSObject alloc] init]来创建object的对象时,object的计数会为2,而不是1,因为默认的Setter方法的实现如下:
[object release];
[newObject retain];
object = newObject;
导致object的计数会为2.同理,当object的计数为1时,我们也可以使用self.object = nil达到释放object的目的~
原创粉丝点击