黑马程序员技术交流社区
标题:
oc循环应用该怎么办???
[打印本页]
作者:
周易
时间:
2014-8-26 18:17
标题:
oc循环应用该怎么办???
在main中创建两个对象 A 和 B
A对象引用b B对象引用a
分别执行 [A / B realease] 发现引用计数还是1 说明他们直接循环引用了
#import "B.h"
@interface A:NSObject{
B *b;
}
@end
#import "A.h"
@interface B:NSObject{
A *a;
}
@end
求案例解析
作者:
寇亮
时间:
2014-8-26 19:31
本帖最后由 寇亮 于 2014-8-26 19:41 编辑
两端互相引用时会导致循环retain,对象永远无法释放。
在用@property声明成员变量时,可以一端用retain、一端用assign
@class B;
@interface A:NSObject{
@property (nonatomic, assign) B *b;
}
@end
@class A;
@interface B:NSObject{
@property (nonatomic, retain) A *a;
}
@end
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2