您的位置:首页 > 移动开发 > IOS开发

iOS学习日记(五)属性与关键字

2019-08-02 10:32 1056 查看
版权声明:署名,允许他人基于本文进行创作,且必须基于与原先许可协议相同的许可协议分发本文 (Creative Commons

属性和关键字

直接举一个简单的例子
下面@property。。。。一行所做的工作相当于定义成员+实现了set/get。

看一看是怎么运行的吧

两种方法是等效的。也就说 属性帮助我们直接实现了set/get方法。
三种方法写法

赋值相关关键字
assign 默认,可以缺省,基本数据类型的赋值
MRC(手动管理)中有retain和copy 一个指向同一个 一个复制生成新内存 指向不同
ARC(自动管理)中有strong关键字
增加一个对象的引用权限(引用计数+1)
weak 不增加

线程相关
nonatomic 单线程的属性声明,执行效率高,线程不安全
atomic 多线程的属性声明,执行效率低,线程安全
缺省时使用nonatomic

属性读取的关键字
readwrite 缺省,生成setter/getter
readonly 只生成getter

方法名相关关键字
可以把setter/getter方法名修改,注意冒号

这样就既可以直接用.调用,也可以用消息调用方法。
点语法的本质是方法的调用,是等价于[对象 方法]。

但是我们使用时,往往选择属性的方法,直接用点调用,不再自己写set和get方法。

属性会创建成员变量。
在implementation中

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: