黑马程序员技术交流社区
标题:
关于assign的使用疑问
[打印本页]
作者:
王雪冬
时间:
2014-4-14 14:54
标题:
关于assign的使用疑问
本帖最后由 王雪冬 于 2014-4-14 16:20 编辑
请看下面代码:
#import <Foundation/Foundation>
@class Person; //Person是一个类名
@interface Card :NSObject
@property (nonatomic,assign) Person *person
@end
复制代码
视频中不是说,assign是用来修饰非OC对象的吗?
可是代码中:
@property (nonatomic,assign) Person *person<span style="background-color: rgb(255, 255, 255); line-height: 1.5;"> </span>
复制代码
却修饰了Person 变量,为什么?不是应该使用retain修饰吗?
在什么情况下应该用
assign修饰OC对象呀?
作者:
罗冠坤
时间:
2014-4-14 14:57
这个应该是些写错了吧。。
assign确实是用来修饰非OC对象的。
作者:
王雪冬
时间:
2014-4-14 15:21
这个是视频里的代码。原封不动
作者:
悟中生有
时间:
2014-4-14 15:24
在循环引用的情况下用assign修饰OC对象:
循环retain
如果a对象retain了b对象,b对象也retain了对象,这样会导致a对象和b对象永远都无法释放。
解决办法:当两端相互引用时,一端用retain,一端用assign。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2