将一个NSMuatblearray添加到另一个NSMutablearray?

时间:2014-02-26 07:35:22

标签: ios objective-c nsmutablearray

我有两个nsmutableArrayArr_jsondata,其次是tempArray

已经Arr_jsondata包含来自json链接的数据并显示在tableview中。

我想将tempArray数据添加到Arr_jsondata并使用Arr_jsondata重新加载表,因为tableview委托也使用此数组来显示tableview中的数据。

但是当我将临时数组数据添加到arr_jsondata时,它总是给我一个错误。

for (int i=0; i<[Temp_arr_JsonData count]; i++)
{
    NSString *str_brandname = [[Temp_arr_JsonData objectAtIndex:i] valueForKey:@"storebrand"];

    NSLog(@"%@",str_brandname);

    NSObject *myNewObject = [[NSObject alloc] init];

    if ([str_brandname isEqualToString:@"Nike"])
    {
        NSLog(@"Data matched");
        c++;
        myNewObject = [Temp_arr_JsonData objectAtIndex:i];
        [temparray addObject:myNewObject];
    }
}

// arr_JsonData=temparray;
[[arr_JsonData arrayByAddingObjectsFromArray:temparray] mutableCopy];
NSLog(@"%@",temparray);//display all nike related data 
NSLog(@"%@",arr_JsonData);//display null array .

[self.tableView reloadData];

[sender setSelected:YES];

最后我只希望tempdata进入Arr_jsondata .....我该怎么办?

5 个答案:

答案 0 :(得分:1)

只需从数组中添加对象即可。见this apple's doc

if (arr_JsonData.count > 0)
    [arr_JsonData addObjectsFromArray: (NSArray*)temparray];
else 
    arr_JsonData = [NSMutableArray arrayWithArray:(NSArray*)temparray]

答案 1 :(得分:0)

你可以试试这个

[arr_JsonData addObjectsFromArray:tempArray];

答案 2 :(得分:0)

我认为arr_JsonData实际上不是NSMutableArray,可以根据您在答案中列出的例外说明进行判断。试试这个:

arr_JsonData = [NSMutableArray arrayWithArray:arr_JsonData];
[arr_JsonData addObjectsFromArray: temparray];

答案 3 :(得分:0)

尝试使用:

NSMutableArray *ar = [NSMutableArray alloc] initWithArray:ar1];

只需要使用其他数组初始化数组,它将包含其他数组的所有内容。

或者这个:

NSMutableArray *ar = [NSMutableArray alloc] initWithArray:ar1 copyItems:YES];

答案 4 :(得分:0)

mutableCopy定义为NSArray而不是NSMutableArray

if ([arr_JsonData count] > 0)
{
    [arr_JsonData addObjectsFromArray: temparray];
}