关于引用计数问题

@interfaceViewController()
@property(strong,nonatomic)WeakView*weakView;
@end
WeakView*view=[[WeakViewalloc]init];
[self.viewaddSubview:view];
self.weakView=view;
NSLog(@"count:---%ld",CFGetRetainCount((__bridgeCFTypeRef)_weakView));
NSLog(@"count:---%ld",CFGetRetainCount((__bridgeCFTypeRef)self.weakView));
为什么打印是3和4
炎炎设计
浏览 288回答 2
2回答

慕少森

self.weakView等效于如下代码:-(WeakView*)weakView{return[[_weakViewretain]autorelease];}下个循环回来就回到3了

莫回无

我理解的是WeakView*+1,addSubView+1,然后self.weakView=view是strong的再+1,所以是3……至于为什么是4是楼上说的吧~
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript