如何将对象附加到NSMutableArray?

时间:2012-11-05 08:27:55

标签: objective-c ios

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

    }
}

enter image description here

2 个答案:

答案 0 :(得分:1)

如果newListArray与oldListArray完全不同,那么清除旧的,并使用新数据来适应它。

否则,您需要合并两个数组。一种方法是检查是否    newListArray中的数据是/不在oldListArray中然后决定    是否将其添加到oldListArray中。

更新oldListArray时,请调用tableView的-reloadData

答案 1 :(得分:1)

如果我不误解你的问题,你可以这样做:

[listArray addObjectsFromArray:newListArray];
[_tableView reloadData];
相关问题