[英]Why in Objective-C and iOS, [[NSMutableArray alloc] init] gave warning but NSMutableArray.new didn't?
[英]Objective-C NSMutableArray alloc init on already declared Object
我的任務是“清理”其他人的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進行引用計數)。 重新分配陣列后,將釋放先前的陣列,因為保留計數將達到零,並且陣列中的所有對象也將被釋放。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.