我想知道在已经存在的(已分配的)对象上调用[[MyClass alloc] init]
是否会在ARC中造成泄漏?或者它是否为您管理发布和重新分配?
将更合适地执行以下操作:
myObject = nil;
myObject = [[MyClass alloc] init];
哪个更合适?还有另一种方法可以做到这一点吗?
答案 0 :(得分:5)
使用ARC,在重新分配之前不需要将myObject设置为nil,只需要这行代码就可以了:
myObject = [[MyClass alloc] init];
当xcode编译代码时,它会自动添加正确的释放机制。