黑马程序员技术交流社区
标题:
@property的使用.以及如何生成一个真正的私有属性
[打印本页]
作者:
Gyj900730@
时间:
2016-8-27 00:30
标题:
@property的使用.以及如何生成一个真正的私有属性
@property 1.是使用在@interface 里面的,当用@property 申明一个属性的时候会做三件事情,一是生成一个私有的属性,这个属性可以在方法的内部访问,但不可以被方法的外部直接访问,可以通过点语法\或者setter getter 方法来访问 二是生成getter 和setter 方法的申明 三 是生成getter和setter方法的实现,..生成这个属性不是真正的私有属性,它可以被外界间接访问.如果想要只生成真正的私有属性,可以用延展这种方法,将这个属性申明到 这种特殊的分类(延展)里,再将这个属性的getter 和setter方法的实现写在@implementation里面.这样就生成了一个真正私有的属性.因为@property不可以写在@implementation里面,而延展又只是申明,可以申明任何成员的属性方法,实现则正好在@implementation中,躲过了在@interface中的申明,所以这种方法可以申明一个真正的私有属性.
@property 是将普通的 定义属性与封装getter 和setter的操作集成在一起的一个语法.它的局限性就是不可以用@property来生成一个真正的私有属性.只能通过上面那种方法,或者是用原始的方法(单独申明一个属性,只将属性的getter 和setter方法的实现写在@inplementation中.
作者:
杨光0618
时间:
2016-8-27 12:15
不错不错,学习学习
作者:
1358840521
时间:
2016-8-27 18:14
很详细,感谢楼主分享
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2