
我有强大的&弱势属性如下
@property(strong,nonatomic)NSArray *data1;@property(unsafe_unretained,nonatomic)NSArray *data2;
我在某些地方看到人们在vIEwDIDUnload中明确地将数据设为nil.
即
-(voID)vIEwDIDUnload{ self.data1=nil; self.data2=nil;} 我的问题是,如果我不在我的情况下这样做(我的意思是如果我不使data1和data2为零
在vIEwDIDUnload中,ARC会自动释放对象吗?
解决方法 是的,ARC将在销毁父对象之前自动释放所有强引用属性/变量.至于“弱”引用,它们不会被保留/释放(无论是否有ARC都是一样的).在vIEwDIDUnload中设置self.data1 = nil通常是不必要的,但有时您希望明确显示引用对象的释放位置.如果您想确保在此行代码处发布data1,请使用您拥有的代码.如果你不关心它何时何地被释放,你不必这样做.
总结以上是内存溢出为你收集整理的objective-c – 如何在基于ARC的项目中使用该版本全部内容,希望文章能够帮你解决objective-c – 如何在基于ARC的项目中使用该版本所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)