2012-07-09 71 views
2

我有一个iPhone应用程序,我试图添加两个可变数组。如何结合两个可变数组?

NSMutableArray *dataArray = [[NSMutableArray alloc] init]; 
NSMutableArray *dataArray1 = [[NSMutableArray alloc] init]; 
NSDictionary *news = [dict objectForKey:@"news"]; 
NSDictionary *deals = [dict objectForKey:@"deals"]; 
NSLog(@"%@", [news classForCoder]); 
NSLog(@"%@", news); 

for (NSDictionary *key in news) 
{ 
    if ([key isKindOfClass:[NSDictionary class]]) 
    { 
     [dataArray addObject:key];  
    } 
} 

for (NSDictionary *key in deals) 
{ 
    if ([key isKindOfClass:[NSDictionary class]]) 
    { 
     [dataArray1 addObject:key];   
    } 
} 

self.newssarray = dataArray; 
[self.mTableView reloadData]; 

在这里,我要添加的两个阵列“dataArray中”和“dataArray2”被合并成一个阵列(self.newsarray)。任何人都可以帮助我实现这个目标吗?

回答

24

NSMutable阵列拥有所有的NSArray的方法,其中包括一个通过添加另一个阵列本身创建新阵列:

self.newsarray = [[dataArray arrayByAddingObjectsFromArray:dataArray1] mutableCopy]; 
+0

感谢您的回复,但它给了我一个警告不兼容指针类型从nsmutable ar ray to nsarray? – hacker 2012-07-09 14:59:33

+0

我假设你的意思是@property预计是可变的;回答修改。 – 2012-07-09 15:05:39

+2

'self.newsarray = [[dataArray arrayByAddingObjectsFromArray:dataArray1] mutableCopy];'现在快乐.... – 2012-07-09 15:14:46

4

如果你的财产的NSMutableArray:

self.newsarray = [NSMutableArray arrayWithArray:[dataArray arrayByAddingObjectsFromArray:dataArray1]]; 

如果是的NSArray :

self.newsarray = [dataArray arrayByAddingObjectsFromArray:dataArray1];