我想更新一个可变数组。我有一个数组“ListArray”与一些键,如“desc”,“标题”在另一边(点击按钮。)我有一个数组名称newListArray来自Web服务,具有不同的数据但具有相同的键,如“ desc“”title“。所以我想在“ListArray”中添加该数据。不想替换数据只是在相同的键上添加数据。所以我可以在tableview中显示。
..........所以我的问题是如何在“ListArray”中添加数据。或以任何其他方式在tableview中显示数据但替换旧数据只是想更新数据
NSMutableArray *newListArray = (NSMutableArray*)[[WebServices sharedInstance] getVideoList:[PlacesDetails sharedInstance].userId tokenValue:[PlacesDetails sharedInstance].tokenID mediaIdMin:[PlacesDetails sharedInstance].minId mediaIdMax:[PlacesDetails sharedInstance].maxId viewPubPri:@"Public_click"];
NSDictionary *getNewListDic = [[NSDictionary alloc] initWithObjectsAndKeys:newListArray,@"videoList", nil];
[listVidArray addObject:getNewListDic];
NSArray *keys = [NSArray arrayWithObjects:@"desc",@"url",@"media_id",@"img",@"status",@"media_id_max",@"fb_url",@"title", nil] ;
NSMutableDictionary *dict = [NSMutableDictionary dictionary];
for(int i = 0 ; i < [listVidArray count] ; i++)
{
for( id theKey in keys)
{
// NSMutableArray *item = [NSMutableArray array];
NSLog(@"%@",theKey);
NSLog(@"%@",keys);
[dict setObject:[[[listVidArray objectAtIndex:i]valueForKey:@"videoList"] valueForKey:theKey] forKey:theKey];
// [dict setObject:[newListArray valueForKey:theKey] forKey:theKey];
}
}
答案 0 :(得分:1)
如果newListArray与oldListArray完全不同,那么清除旧的,并使用新数据来适应它。
否则,您需要合并两个数组。一种方法是检查是否 newListArray中的数据是/不在oldListArray中然后决定 是否将其添加到oldListArray中。
更新oldListArray时,请调用tableView的-reloadData
。
答案 1 :(得分:1)
如果我不误解你的问题,你可以这样做:
[listArray addObjectsFromArray:newListArray];
[_tableView reloadData];