簡體   English   中英

快速 NSMutableArray 問題

[英]Quick NSMutableArray Question

我想知道,使用 NSMutableArray 是制作我將添加對象的數組的最佳方式嗎? 或者,只是一個普通的 NSArray? 其次,我正在嘗試在 java 中制作類似於 ArrayList 的東西(因此對大小沒有限制),我想知道該怎么做。 我想到的是制作一個更大的數組並將舊數組復制到其中。 我的代碼:

- (void) addAccount:(BankAccount *)b
{

accountCount = [NSNumber numberWithDouble:[accountCount doubleValue] + 1];    
NSMutableArray *oldList = accounts;
accounts = [[NSMutableArray alloc] (some code to make bigger and copy over)];

}

PS我昨天自學了這門語言,所以如果太高級我可能聽不懂你的反應

NSMutableArrayNSArray之間的區別在於“可變”一詞的含義。 即:可變數組在創建后可以修改,而“普通” NSArray 是不可變的,創建后無法修改。

因此,使用NSMutableArray並通過addObject:方法向其中添加對象似乎是一個理想的解決方案。

NSMutableArrays 是你想要的。 此外,NSMutableArrays 已經像 ArrayLists 或 STL 向量,或任何其他“沒有大小限制”的東西。 你可以說[myArray addObject:someObject]; 直到你用完 memory,它會根據需要不斷調整自己的大小。

  1. 如果您想一次添加所有對象,請使用NSArray 如果您現在要添加一些對象,稍后再添加,請使用NSMutableArray
  2. 您的代碼片段沒有多大意義。 要制作NSMutableArray ,請執行以下操作:

    NSMutableArray *array = [NSMutableArray array];

如果您不需要訂單(通常不需要),請使用 NSSet/NSMutableSet。

暫無
暫無

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

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