51CTO是一个非常全面的平台,是一个非常不错的学习平台,因为我借助于这一平台来分享一些平时积累的课程介绍,那么紧接着本章内容整理出来的是有关OC属性的介绍。

一、属性作用

蓝鸥iOS培训推荐:如果想要很方便的创建setter和getter方法,那么可以利用声明属性(@property)来实现。

@property声明与实现文件中的另一个声明@sythesize相结合,完成setter和getter方法的创建。@property生成设置器和访问器方法的声明,@synthesize生成设置器和访问器方法的实现。

那么在这里大家所要注意的就是:只有当访问器不存在的时候,@synthesize才会自动生成访问器,所以,即使是使用@synthesize声明了一个属性,仍然可以实现自定义的getter和setter。

属性是设置实例变量的方法,也是获取实例变量的方法。

iOS培训篇OC之属性介绍_第1张图片

二、点语法访问

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

iOS培训篇OC之属性介绍_第2张图片

这个参数只针对于NSCoping协议的对象生效。

上面内容简单明了的写下了OC属性,这样理解起来就很简单了,那么作为iOS开发的兴趣爱好者,你有没有学好OC呢?有没有越来越喜欢上iOS培训的各种课程呢?有的话,马上行动起来吧!