我必须使用一个包含类指针的联合,但打开 ARC,并且在这里很好地解释:__unsafe_unretained NSString struct var you have to set the field __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