为什么 iOS 开发中,控件一般为 weak 而不是 strong
展开全部
weak表示弱引用(retainCount不会加1),也就是说当引用计数器为0时(retainCount=0),该指针指向的对象会被释放,且该指针会被置为nil
strong修饰则是表示强引用(retainCount会加1)
而当我们的控件被addSubview是,其实自身会被superView强引用一份,所以我们只需要weak就行。
在MRC年代,这样做是为了在我们页面释放时不用手动设置view的引用为nil
当到了ARC时代,其实区别不大
strong修饰则是表示强引用(retainCount会加1)
而当我们的控件被addSubview是,其实自身会被superView强引用一份,所以我们只需要weak就行。
在MRC年代,这样做是为了在我们页面释放时不用手动设置view的引用为nil
当到了ARC时代,其实区别不大
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询