我想更新一个可变数组。我有一个数组“ ListArray”,另一端有一些键,例如“ desc”,“ title”(单击按钮。)我有一个数组名newListArray,它来自Web服务,具有不同的数据,但具有相同的键,如“ desc“”标题“。所以我想在“ 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];
}
}
最佳答案
如果newListArray与oldListArray完全不同,请清除旧列表,然后使用新数据来适应它。
否则,您需要合并两个数组。一种方法是检查
newListArray中的数据位于/不在oldListArray中,然后确定
是否将其添加到oldListArray中。
更新oldListArray后,调用tableView的-reloadData
。
关于objective-c - 如何将对象附加到NSMutableArray?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13228387/