0

可変配列を更新したい。反対側に「desc」、「title」などのキーを持つ1つの配列「ListArray」があります(ボタンをクリックします)。Webサービスから取得した配列名newListArrayが1つあり、データは異なりますが、「説明」「タイトル」。だから私はそのデータを "ListArray" に追加したい。データを置き換えたくない場合は、同じキーにデータを追加するだけです。それをテーブルビューで表示できるようにします。

.........だから私の質問は、「ListArray」にデータを追加する方法です。またはテーブルビューでそのデータを表示する他の方法ですが、古いものを置き換えるだけでデータを更新したい

      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];

    }
}

ここに画像の説明を入力

4

2 に答える 2

1

私があなたの質問を誤解しないなら、あなたはこのようなことをするかもしれません:

[listArray addObjectsFromArray:newListArray];
[_tableView reloadData];
于 2012-11-05T08:35:51.043 に答える
1

newListArray が oldListArray とまったく異なる場合は、古いものを消去し、新しいデータを使用してそれに合わせます。

それ以外の場合は、2 つの配列をマージする必要があります。1 つの方法は、newListArray 内のデータが oldListArray 内にあるかどうかを確認してから、それを oldListArray に追加するかどうかを決定することです。

oldListArray が更新されると-reloadData、tableView が呼び出されます。

于 2012-11-05T08:34:54.810 に答える