2 mapmapm MapMapM 于 2013.01.17 09:52 提问

用ARC重新初始化一个对象

有一个疑问希望有人能解答一下,如果在已经分配过的对象上调用[[MyClass alloc] init],会不会在ARC中发生泄漏?还是它会管理释放然后重新分配?

下面的方法是不是更合适:

myObject = nil;
myObject = [[MyClass alloc] init];

有没有其他更好的方法实现?谢谢解答

2个回答

ccf0703
ccf0703   2013.01.17 11:04
已采纳

代码在arc中不会发生内存泄露。这种写法在ARC上没问题的。

MapMapM
MapMapM 我也是这么想的不过不敢确定,谢谢·
大约 5 年之前 回复
g989_1314125
g989_1314125   2013.01.17 13:42

用ARC,不需要在重新分配之前设置myObject为空:

myObject = [[MyClass alloc] init];

这行代码就可以,当xcode编译的时候可以自动进行正确释放。

MapMapM
MapMapM 谢谢
大约 5 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!