重新赋值实例变量,是不是先设置nil比较好
re-assign instance variable, is it better to set nil first
我正在使用 XCode 7.3.1.
我有一个实例变量:
mProduct = [[Product alloc] initWithName:@"apple"];
稍后在同一个 class 中,我需要将一个新对象重新分配给这个实例变量,我知道我可以这样做:
mProduct = [[Product alloc] initWithName:@"Car"];
但我想知道,在将新实例重新分配给变量之前先将 mProduct
设置为 nil
是否更好?
mProduct = nil;
mProduct = [[Product alloc] initWithName:@"Car"];
不,完全没有区别。
无论哪种方式,ARC 都会正确处理内存,如果旧对象不再在您的程序中使用,则会根据需要释放内存。
我正在使用 XCode 7.3.1.
我有一个实例变量:
mProduct = [[Product alloc] initWithName:@"apple"];
稍后在同一个 class 中,我需要将一个新对象重新分配给这个实例变量,我知道我可以这样做:
mProduct = [[Product alloc] initWithName:@"Car"];
但我想知道,在将新实例重新分配给变量之前先将 mProduct
设置为 nil
是否更好?
mProduct = nil;
mProduct = [[Product alloc] initWithName:@"Car"];
不,完全没有区别。
无论哪种方式,ARC 都会正确处理内存,如果旧对象不再在您的程序中使用,则会根据需要释放内存。