我有两个nsmutableArray
。 Arr_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
.....我该怎么办?
答案 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];
}