簡體   English   中英

已聲明的Object上的Objective-C NSMutableArray分配初始化

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM