2

私は目的の初心者です-c。私は問題があります;

JSONから取得して解析し、それらを配列でテーブルビューに書き込んでいます。これは明らかに素晴らしい結果です。

しかし、下にスクロールしたときに2ページ目を取得したいです。私は文書のトーンを読みます。しかし、2 ページ目を tableView に渡すことができません。

これが私のコードの要約です。

ページ 0 で JSON の get および make 配列メソッドを呼び出しています。 (問題ありません)

- (void)viewDidLoad
{
    [self takeList:0];
}

私の JSON get および make 配列メソッド。(ここで問題)

-(void)takeList: (NSUInteger) page
{
    NSString * urlStr = [NSString stringWithFormat:@"http://www.EXAMPLE.com/json/main.json"];
    NSURL * url = [NSURL URLWithString:urlStr];
    NSData * data = [NSData dataWithContentsOfURL:url];
    if (page == 0) {
        array = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
    }else{
        new_array = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
        NSMutableArray *ar1 = [array mutableCopy];
        NSMutableArray *ar2 = [new_array mutableCopy];
        [ar1 addObject:ar2];
        [self.myTableView reloadData];
    }
}

メソッドを呼び出すための私のスクロール(問題ありません)

-(void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate
{

    NSInteger currentOffset = scrollView.contentOffset.y;
    NSInteger maximumOffset = scrollView.contentSize.height - scrollView.frame.size.height;

    if ((currentOffset > 0) && (maximumOffset - currentOffset) <= 140) {
        pages++;
        [self takeList:pages];
    }

}

最後にcellForRowAtIndexPath、この配列を使用します。

「新しいページをtableViewに送信する方法は?」について教えてください。

ありがとう(そして私の下手な英語でごめんなさい。)

4

2 に答える 2

3

このコード

 new_array = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
    NSMutableArray *ar1 = [array mutableCopy];
    NSMutableArray *ar2 = [new_array mutableCopy];
    [ar1 addObject:ar2];
    [self.myTableView reloadData];    

役に立つことは何もしません。これは、目的の c (または私が考えることができる任意の言語) で配列を連結する方法ではありません。代わりに、次のように置き換える必要があります。

 new_array = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];

    array = [array arrayByAddingObjectsFromArray:new_array];
    [self.myTableView reloadData];    
于 2013-09-12T07:25:56.630 に答える