黑马程序员技术交流社区

标题: retain和strong、assign和weak的区别 [打印本页]

作者: iosCoder    时间: 2014-12-22 00:42
标题: retain和strong、assign和weak的区别
retain和strong、assign和weak的区别是什么,代码说明!

作者: se7ven    时间: 2014-12-22 11:02
  1. 都是在.h文件中做修饰符的
  2. assign,是作为修饰非OC对象的
  3. 其他三个都是修饰对象的。
  4. retain是在非ARC机制中,作为release旧值,retain新值操作。
  5. strong和weak是在ARC机制中使用的,strong替换了retain,
  6. @property(nonatomic,assign)int age;//非对象
  7. @property(nonatomic,strong)Car *car;//ARC
  8. @property(nonatomic,retain)Dog *dog;//非ARC,手动内存管理
  9. @property(nonatomic,weak)Book *book;//weak一般使用在循环引用的,如果两个对象相互引用的话,一方用strong,另一方就用weak。
  10. 总结的不好,希望你能理解。


复制代码

作者: se7ven    时间: 2014-12-22 11:04
se7ven 发表于 2014-12-22 11:02

assign修饰非OC对象,仅仅是赋值
作者: iosCoder    时间: 2014-12-22 13:06
se7ven 发表于 2014-12-22 11:02

学习了。。。。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2