我想更新一个可变数组。我有一个数组“ 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/

10-10 21:03