51CTO是一个非常全面的平台,是一个非常不错的学习平台,因为我借助于这一平台来分享一些平时积累的课程介绍,那么紧接着本章内容整理出来的是有关OC属性的介绍。
一、属性作用
蓝鸥iOS培训推荐:如果想要很方便的创建setter和getter方法,那么可以利用声明属性(@property)来实现。
@property声明与实现文件中的另一个声明@sythesize相结合,完成setter和getter方法的创建。@property生成设置器和访问器方法的声明,@synthesize生成设置器和访问器方法的实现。
那么在这里大家所要注意的就是:只有当访问器不存在的时候,@synthesize才会自动生成访问器,所以,即使是使用@synthesize声明了一个属性,仍然可以实现自定义的getter和setter。
属性是设置实例变量的方法,也是获取实例变量的方法。
二、点语法访问
aObject.aVar=aValue;左边相当于一个设置器方法。
NSString*str=aObject.aVar;右边相当于一个访问器方法。
省去了使用实例变量访问方法。
三、属性说明的功能
1、访问控制
readwrite说明了属性是可读写的。
readonly说明属性是只读的,也就是只会生成访问器
getter=函数名为属性访问器指定函数
setter=函数名为属性设置器指定函数
2、线程安全
nonatomic非原子性,不保证多线程安全。不设置这个参数,就说明对属性的访问在多线程环境下是可靠的。
atomic原子性,多线程访问时较安全(系统没这个关键字)
3、设置器逻辑控制
设置器逻辑控制参数指定了设置器中的逻辑方式。
4、assign
设置器使用直接赋值来设置属性的值:property=newValue;它是默认的参数,如果不写,默认是assign。
5、retain
在进行设置的时候使用retain,对原值进行release
这个参数只针对于NSCoping协议的对象生效。
上面内容简单明了的写下了OC属性,这样理解起来就很简单了,那么作为iOS开发的兴趣爱好者,你有没有学好OC呢?有没有越来越喜欢上iOS培训的各种课程呢?有的话,马上行动起来吧!