ここにコードがあります
@interface Test : NSObject {
int val;
}
-(int) GetOne;
@end
@implementation Test
-(int) GetOne {
return 1;
}
@end
そして、このように Test クラスを使用します
Test * a = [Test new];
Test * __weak b = a;
[b GetOne];
a = nil;
printf("a=%p, b=%p\n", a, b);
結果は b が 0 ではありません。なぜこれが起こるのですか?