使用ARC重新初始化/重新分配对象

KDa*_*ker 2 iphone memory-management ios automatic-ref-counting

我想知道调用[[MyClass alloc] init]已经存在的(已分配的)对象是否会在ARC中造成泄漏?或者它是否为您管理发布和重新分配?

会做更好的事情:

myObject = nil;
myObject = [[MyClass alloc] init];
Run Code Online (Sandbox Code Playgroud)

哪个更合适?还有另一种方法可以做到这一点吗?

vod*_*ang 5

使用ARC,在重新分配之前不需要将myObject设置为nil,只有这行代码才可以:

myObject = [[MyClass alloc] init];
Run Code Online (Sandbox Code Playgroud)

当xcode编译代码时,它会自动添加正确的释放机制.