swift 属性调用self 和不带self的区别
2个回答
展开全部
首先,self.xxx是访问属性的,而_xxx是访问实例变量的,前者是集成了setter和getter方法,
用前者表明此属性已经生成了相应的默认setter和getter方法,是这两个方法
的整合体,如果属性在@property中属性的修饰符有retain,那么当使用self.xx的时候相应的属性的引用计数器由于生成了setter方
法而进行加1操作,此时的retaincount为2。
而使用后者只是对实例变量进行声明,是对指针的赋值,而没有相应的方法。
用前者表明此属性已经生成了相应的默认setter和getter方法,是这两个方法
的整合体,如果属性在@property中属性的修饰符有retain,那么当使用self.xx的时候相应的属性的引用计数器由于生成了setter方
法而进行加1操作,此时的retaincount为2。
而使用后者只是对实例变量进行声明,是对指针的赋值,而没有相应的方法。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询