objective-c – 如何在基于ARC的项目中使用该版本

objective-c – 如何在基于ARC的项目中使用该版本,第1张

概述我知道这个话题有很多问题.我从未参与过基于Non ARC的项目. 我有强大的&弱势属性如下 @property(strong,nonatomic)NSArray *data1;@property(unsafe_unretained, nonatomic)NSArray *data2; 我在某些地方看到人们在viewDidUnload中明确地将数据设为nil. 即 -(void)viewDidUn 我知道这个话题有很多问题.我从未参与过基于Non ARC的项目.

我有强大的&弱势属性如下

@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的项目中使用该版本所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1013169.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-22
下一篇2022-05-22

发表评论

登录后才能评论

评论列表(0条)

    保存