@interface ViewController ()
@property ( strong , nonatomic ) WeakView * weakView;
@end
WeakView * view = [[WeakView alloc]init];
[self.view addSubview:view];
self.weakView = view;
NSLog(@"count: --- %ld",CFGetRetainCount((__bridge CFTypeRef)_weakView));
NSLog(@"count: --- %ld",CFGetRetainCount((__bridge CFTypeRef)self.weakView));
为什么打印是3和4
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
等效于如下代码:
下个循环回来就回到 3 了
我理解的是
WeakView*+ 1,addSubView + 1,然后self.weakView = view是 strong 的再 +1,所以是 3 ……至于为什么是 4 是楼上说的吧~