0

データをテーブル ビューに解析していますが、サーバー ページには数十万の名前があります。

まず、サーバー側のさまざまなページにすべてのサーバー データを書き込み、テーブル ビューの下に [もっと見る] ボタンを配置しました。ユーザーがそれをクリックすると、ページ番号が 1 つ増え、2 ページ目のデータがテーブル ビューに表示されます。問題は、テーブル ビューで最初のページのデータが失われることです。[もっと見る] をクリックしたときに、以前のデータに新しいデータを追加するにはどうすればよいですか?

これはviewDidLoad

- (void)viewDidLoad
{
    [super viewDidLoad];

    sharedClass=[SharedClass sharedInstance];
    [self.navigationController setNavigationBarHidden:YES];

    Noresult.hidden = YES;
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    // NSString *userid = [defaults objectForKey:@"userid"];
    NSString *userid = @"3";

    NSString *search_key = @"";
    NSString *type=@"user";

    page = 1;

    ServerRequests *ser_req = [[ServerRequests alloc] init];
    ser_req.server_req_proces = self;
    NSString *postdata = [[NSString alloc] initWithFormat:@"{\"function\":\"search\",   \"parameters\": {\"user_id\": \"%@\",\"search_key\": \"%@\",\"type\": \"%@\",\"page\": \"%d\"},\"token\":\"\"}",userid,search_key,type,page];

    [ser_req sendServerRequests:postdata];

    NSLog(@"array=========>>%@",postdata);
    sharedClass.oprtn = @"load table";

}

そして、これはviewMoreボタン内のコードです

-(IBAction)Viewmore:(id)sender
{


    NSString *userid = @"3";

    NSString *search_key = searchBaar.text;
    NSString *type=@"user";

    page = page + 1 ;



    ServerRequests *ser_req = [[ServerRequests alloc] init];
    ser_req.server_req_proces = self;
    NSString *postdata = [[NSString alloc] initWithFormat:@"{\"function\":\"search\",  \"parameters\": {\"user_id\": \"%@\",\"search_key\": \"%@\",\"type\": \"%@\",\"page\": \"%d\"},\"token\":\"\"}",userid,search_key,type,page];

    [ser_req sendServerRequests:postdata];

    sharedClass.oprtn = @"load table";

}
4

1 に答える 1

0

データを保持するために を使用しNSMutableArrayています。もっと見るボタンを押すと、おそらく次のようなデータが保存されます。

yourDataArray = //getting data from server;

同じを削除したり再割り当てしたりしないことをお勧めしますNSMutableArray

代わりに一時配列を使用し、一時配列から新しいデータを次のdataArrayように追加します。

NSMutableArray *tempArray = //getting data from server;

for(int loop = 0; loop < [tempArray count]; loop++)
{
   [yourDataArray addObject:[tempArray objectAtIndex:loop]];
}
于 2012-11-05T05:25:25.867 に答える