我想在這裏多陣列多次添加到一個NSMutableArray的 其實我加入不同的值相同的陣列,以一個NSMutable陣列 此代碼:嘗試很多陣列添加到一個NSMutableArray的
NSMutableArray* wordsArray =[[NSMutableArray alloc] init ];
NSMutableArray* meaningsArray=[[NSMutableArray alloc]init];
NSMutableArray* wordsArrayTemp=[[NSMutableArray alloc]init];
NSMutableArray* meaningsArrayTemp=[[NSMutableArray alloc]init ];
NSMutableArray* allWords =[[NSMutableArray alloc]initWithCapacity:2];
NSMutableArray* allMeanings=[[NSMutableArray alloc]initWithCapacity:2];
for(int i=0;i<2;i++)
{
int wordsCounter=0;
[wordsArrayTemp removeAllObjects];
[meaningsArrayTemp removeAllObjects];
for(NSString *tmp in wordsArray)
{
NSString *meaning =[meaningsArray objectAtIndex:wordsCounter++];
subtmp= [ tmp substringWithRange:NSMakeRange(0,1)];
if([currentTable isEqualToString:@"arabicToEnglish"])
{
if([subtmp isEqualToString:[arabicLetters objectAtIndex:i]])
{
[wordsArrayTemp addObject:tmp];
[meaningsArrayTemp addObject:meaning];
}
}
else
if([subtmp isEqualToString:[englishLetters objectAtIndex:i]])
{
[wordsArrayTemp addObject:tmp];
[meaningsArrayTemp addObject:meaning];
}
}
[allWords insertObject:wordsArrayTemp atIndex:i];
// [allWords addObject: wordsArrayTemp];
[allMeanings addObject:meaningsArrayTemp];
NSLog(@"all words count%i",[[allWords objectAtIndex:i] count]);
}
問題: 這裏假設的行爲是在allWords數組中有2個不同的值。 但實際發生的是,2個值用最後一個索引值填充相同的值。 我的意思是[allWords objectAtIndex:0]應該有2000個對象,[allWords objectAtIndex:1]應該有3000個,但是它們都有3000個對象會發生什麼!
我在這裏錯過了什麼? 日Thnx
2000和3000從哪裏來? – 2012-02-15 09:03:08
,你應該用'wordsArrayTemp = [NSMutableArray array];'替換'[wordsArrayTemp removeAllObjects];'。 「意義數組」也是如此。您不想清空該數組,因爲這會清空「allWords」或「allMeanings」數組中的數組。 – 2012-02-15 09:05:07
從數據庫表,我試圖按字母順序排序整個單詞2應該是26實際上 – 2012-02-15 09:06:19