【发布时间】:2023-03-20 05:50:01
【问题描述】:
我必须使用一个包含类指针的联合,但要启用 ARC,这里也有很好的解释:__unsafe_unretained NSString struct var 你必须设置字段__unsafe_unretained。
也就是说,如果我理解得很好,你必须自己管理它的生命周期。
例如:
typedef union FOO {
char __char;
__unsafe_unretained NSMutableArray * __array;
__unsafe_unretained BarClass * __bar;
}
如果我这样做:
FOO * foo = malloc(sizeof(FOO));
foo.__bar = [[BarClass alloc] init];
... // I have fun with foo.__bar
[foo.__bar release] // this was before ARC and does not work anymore
free(foo);
如何释放foo.__bar?因为有了 ARC 我不能再打电话给release或autorelease?
【问题讨论】:
标签: objective-c memory-management automatic-ref-counting