我的任务是“清理”其他人的Objective-C代码。我承认,这当然不是我最喜欢的语言。
我在该用户代码中发现的一种对我来说似乎多余的方法是:
if (favoriteItemsArray || [favoriteItemsArray count] > 0) {
[favoriteItemsArray removeAllObjects];
favoriteItemsArray = nil;
}
if (favoriteOrderArray || [favoriteOrderArray count] > 0) {
[favoriteOrderArray removeAllObjects];
favoriteOrderArray = nil;
}
favoriteItemsArray = [[NSMutableArray alloc] init];
favoriteOrderArray = [[NSMutableArray alloc] init];
我想与大家仔细检查一下,看看我是否太习惯于JAVA了,但是不能将这段代码压缩到最后两行而只说:
favoriteItemsArray = [[NSMutableArray alloc] init];
favoriteOrderArray = [[NSMutableArray alloc] init];
如果没有人可以解释?
再次,这不是我的代码。
最佳答案
你是对的。您可以删除代码的第一部分(如果使用ARC进行引用计数)。重新分配阵列后,将释放先前的阵列,因为保留计数将达到零,并且阵列中的所有对象也将被释放。