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