ARC下,__weak 是否会改变对象的引用计数

ARC环境下,事例代码如下

    id __strong obj0 = [[NSObject alloc] init];
    id __weak obj = obj0;
    NSLog(@"obj0 :%p --- %ld", obj0, CFGetRetainCount((__bridge CFTypeRef) obj0));
    NSLog(@"obj  :%p --- %ld", obj, CFGetRetainCount((__bridge CFTypeRef) obj));

打印结果如下
2015-11-29 22:19:14.753 Test[15256:150713] obj0 :0x7f9f92d15d00 --- 1
2015-11-29 22:19:14.753 Test[15256:150713] obj :0x7f9f92d15d00 --- 3

这个3是怎么来的呢?

阅读 2.2k
1 个回答
新手上路,请多包涵

Retaincount本来就太可信.尤其是obj在weak修饰符下声明,并且没有引用者

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进