property中的关键字

property中的关键字

示例

1 @property (nonatomic, strong)NSString *name;
2 @property (nonatomic, assign)NSInteger age;

1.nonatomic, atomic

atomic 原子操作:给资源进行加锁解锁 ,安全 , 效率不高(如12306买火车票系统)
nonatomic 非原子操作: 没有加锁解锁机制 ,不安全, 效率高

大部分情况使用nonatomic

 2.strong,retain,weak

strong: property关键字,声明对不是自己创建的对象的拥有权 retainCount ++(对象不会被释放掉)

 retain: 除了property关键字之外 在代码里面也需要声明拥有权

 weak : 弱引用 只是定义了某一个类型的对象 不会对这个对象声明拥有权,对象会被外部释放掉

OC的对象类型 就用strong。retain 和 strong 相同,但一般用strong

3.copy

 copy: 拷贝一份 ,不是所有的对象类型都能用, 如果要使用copy ,对象必须服从NSCopying协议 如NSString NSArray Block,自己创建的对象必须服从NSCopying协议才能使用这个关键字

4.readwrite,readonly

readwrite :默认 可读可写 提供了set和get方法

 readonly: 只读 只提供了get方法

1 @property (nonatomic, strong, readwrite)NSString *name;//有get和set方法
2 @property (nonatomic, strong, readonly)NSString *sex;//只有get方法

 5.更改系统提供的setter和getter方法名

setter=funcName:

 getter=

1 @property (nonatomic, strong, setter = setMyName:) NSString *name;
2 @property (nonatomic, strong, getter = getMySex) NSString *sex;

注:如果方法有参数,要在方法名后面加:

6.assign

修饰C语言的基本数据类型

 为了防止循环引用 delegate

assign是弱引用

posted @ 2018-07-27 21:11 健泽 阅读( ...) 评论( ...) 编辑 收藏
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值