簡體   English   中英

如何復制NSMutableArray

[英]How to copy a NSMutableArray

我只想知道如何復制NSMutableArray,以便在更改數組時,對它的引用不會更改。 如何復制數組?

有多種方法可以這樣做:

NSArray *newArray = [NSMutableArray arrayWithArray:oldArray];

NSArray *newArray = [[[NSMutableArray alloc] initWithArray:oldArray] autorelease];

NSArray *newArray = [[oldArray mutableCopy] autorelease];

不過,這些都會創建淺表副本

編輯:如果您使用的是ARC,只需刪除對autorelease的調用即可。)

對於深層副本,請使用以下代碼:

NSMutableArray *newArray = [[[NSMutableArray alloc] initWithArray:oldArray copyItems:YES] autorelease];

值得注意的是:出於明顯的原因,后者將需要您數組的所有元素對象來實現NSCopying

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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