OC基础-内存管理-@property以及它的参数


<4>内存管理--@property的内存管理
1. 对于对象来说:如果用@property自动生成set/get方法的话,系统是不会帮我们带上判断和retain/release的。但我们可以在@property后面加上一个参数 (retain),这样就跟我们写的set/get一样了(有判断,和retain/release)
例如:@property (retain) BOOK *book;

2. 但是dealloc里面的release还是要自己写(因为@property只对set/get有影响,对dealloc没有影响的)


<5>内存管理--@property的参数screen-flow
1. @property的参数分类:
    1> 跟内存管理相关的参数
        1.retain:release旧值,retain新值
          2.assign:直接赋值(默认的,适用于非OC对象类型)
        3.copy:release旧值,copy新值

    2> 是否要生成set方法(就是只要求生成get方法)
        1.readwrite:同时生成setter和getter(默认的)
        2.readonly:只会生成getter部分

    3> 多线程管理(暂时不要求理解)
          1.nonatomic:性能高(但是一般用这个)
        2.atomic:性能低(默认的)

    4> setter和getter的名称 (自己设置方法名)
          1.(getter = “方法名”, setter = “方法名”)   // 注意:setter的方法名包含冒号,成员变量名不受影响,还是 ‘_***’

2. BOOL类型的方法名以is开头(规范),可以用上面的第4条来做到

3. 这些参数可以混在一起写,只要不冲突就行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值