A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 崔石炫 中级黑马   /  2014-10-17 16:56  /  753 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

非ARC机制中,@property内存管理相关的参数:
retain、assign

ARC机制中,@property内存管理相关的参数:

strong、weak、assign

问题来了,只要是OC对象类型,建议用strong和weak,基本数据类型仍然用assign,

那么,到底怎样的对象才使用weak呢?占用内存很小的OC对象用weak吗?




5 个回复

倒序浏览
两端互相引用的时候必须是一个strong一个weak
回复 使用道具 举报
比如说有一个Person类和Dog类,人有狗这个成员变量,狗有人(主人)这个成员变量,那么如果都用strong的话,创建的对象总是有强指针指着,导致无法释放,这个时候,一端就要用weak属性,一端用strong属性。
回复 使用道具 举报
魔法少年十三 发表于 2014-10-17 17:33
两端互相引用的时候必须是一个strong一个weak

目前为止,也就只能用在这儿了。
回复 使用道具 举报
我说你是个逗比 发表于 2014-10-17 17:46
比如说有一个Person类和Dog类,人有狗这个成员变量,狗有人(主人)这个成员变量,那么如果都用strong的话 ...

谢谢啦。两个类互相引用的时候是要这么用的……
回复 使用道具 举报
崔石炫 发表于 2014-10-17 22:46
谢谢啦。两个类互相引用的时候是要这么用的……

学到后面会发现UI里面很多变量必须用weak
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马