为了账号安全,请及时绑定邮箱和手机立即绑定

目标-C声明的@属性(非原子属性,复制属性,强属性,弱属性)

目标-C声明的@属性(非原子属性,复制属性,强属性,弱属性)

狐的传说 2019-07-03 11:03:13
目标-C声明的@属性(非原子属性,复制属性,强属性,弱属性)当我必须使用每个属性时,有人能详细地向我解释一下吗?nonatomic, copy, strong, weak,以此类推,对于已声明的属性,并解释每个属性都做了什么?举个例子也很好。我在用ARC。
查看完整描述

3 回答

?
潇湘沐

TA贡献1816条经验 获得超6个赞

nonatomic属性声明该对象不是线程安全的,这意味着如果一个不同的线程试图访问该对象,那么可能会发生更多不好的事情,但这要比原子属性快得多。

strong与ARC一起使用,它基本上可以帮助您,不必担心对象的保留计数。使用完后,圆弧会自动为您释放它。strong意味着你拥有这个物品。

weak所有权意味着您不拥有它,它只会跟踪对象直到分配给它的对象保持不变,一旦第二个对象被释放,它就丢失了值。比如。obj.a=objectB;使用,并且a具有弱属性,其值仅在对象B保留在内存中时才有效。

copy财产很好在此解释

strong,weak,retain,copy,assign是相互排斥的所以你不能在一个单一的物体上使用它们.。阅读“申报财产”剖面


查看完整回答
反对 回复 2019-07-03
  • 3 回答
  • 0 关注
  • 522 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信