2014-04-24 12 views
-1

我有這樣的情況,我會執行SQLite的查詢,我需要基於組的數量來聲明一個多陣列所以基本上我的問題是:動態多的NSMutableArray

1)如何申報多個陣列

​​

我需要做的是,在一個動態的方式像

NSMutableArray *dynamic = based on groupCount 

查詢樣品:

SELECT groupNumber, name FROM sample 


if(groupNumber == 0){ 
[first addObject:name]; 
} 
else if(groupNumber == 1){ 
[second addObject:name]; 
} 
+2

你可以把一個'NSMutableArray'內的另一個。 –

+2

使用'NDictionary',把key作爲'groupNumber',把value作爲'name'的'NSMutableArray'。 – Rich

+0

[可變數組的二維NSMutableArray,但不知道有多少我需要]可能的重複(http://stackoverflow.com/questions/7775343/two-dimensional-nsmutablearray-of-mutable-arrays-但不知道如何 - 許多病 - n) –

回答

0

不知道你想要做什麼,真的,但明顯的事情[對我來說,至少]將要使用數組包含n陣列,那麼你可以拉你通過它的索引想出來的一個:

NSMutableArray *bigArray = [[NSMutableArray alloc] init]; 

...

if (groupNumber < [bigArray count]) 
{ 
    NSMutableArray *workArray = [bigArray objectAtIndex:groupNumber]; 
    [workArray addObject:name]; 
} 
else 
{ 
    NSMutableArray *newArray = [NSMutableArray alloc] init]; 
    [newArray addObject:name]; 
    [bigArray addObject:newArray]; 
} 

不知道該代碼是否有效,但也許它會給你的想法。

0

根據我的評論 - 使用NDictionary,關鍵是groupNumbername s的值a NSMutableArray

首先創建你的字典:

NSMutableDictionary *groups = [NSMutableDictionary dictionary]; 

然後在您的循環:

NSMutableArray *group = groups[groupNumber]; 
if (!group) { 
    group = [NSMutableArray array]; 
    groups[groupNumber] = group; 
} 
[group addObject:name]; 

現在groups會是什麼樣子:

{ 
    "1" : ["name1", "name2", "name3"], 
    "3" : ["name4", "name6"] 
} 
相關問題