问题描述
- 用ARC重新初始化一个对象
-
有一个疑问希望有人能解答一下,如果在已经分配过的对象上调用[[MyClass alloc] init]
,会不会在ARC中发生泄漏?还是它会管理释放然后重新分配?下面的方法是不是更合适:
myObject = nil; myObject = [[MyClass alloc] init];
有没有其他更好的方法实现?谢谢解答
解决方案
代码在arc中不会发生内存泄露。这种写法在ARC上没问题的。
解决方案二:
用ARC,不需要在重新分配之前设置myObject为空:
myObject = [[MyClass alloc] init];
这行代码就可以,当xcode编译的时候可以自动进行正确释放。
时间: 2024-12-30 23:26:33