0

我正在开发一个 iPhone 应用程序,该应用程序需要从我的服务器以 JSON 或 XML 格式加载数据。由于该应用程序是免费的,因此我会获得大量数据,并且由于加载数据时间过长而在启动应用程序时会崩溃。所以我知道我不应该一次得到“所有”JSON,但我必须加载“分页”的数据[一点一点]..

我发现这个项目非常适合我的需要,但无法成功修改它以满足我的需要:

https://github.com/nmondollot/NMPaginator

项目以 Tw​​itter api 作为数据源,如果我需要处理一个返回 JSON 格式数据的简单 php 文件怎么办?

nb:我尝试修改后尝试联系项目开发人员,但直到现在才得到答复。

谢谢。

4

1 回答 1

0

最简单的解决方案可能是在另一个线程中下载数据。这可以通过多种方式完成,但其中一种方式是使用大中央调度 (GCD)。

像这样的东西

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_LOW, 0), ^{
    NSURL *url = [NSURL URLWithString:@"Your_URL"];
    NSURLRequest *req = [NSURLRequest requestWithURL:url];
    [NSURLConnection sendAsynchronousRequest:req
                                       queue:[NSOperationQueue currentQueue]
                           completionHandler:
     ^(NSURLResponse *res, NSData *data, NSError *err) {
         // Convert the data to appropriate object
         NSString* myString = [[NSString alloc] initWithData:data encoding:NSASCIIStringEncoding];
//You would probably deserialize the json here
//self.tableViewArray = serialiedObjects;
          
         dispatch_async(dispatch_get_main_queue(), ^{
             //Reload table view
             [self.tableView reloadData];
         });
     }];
});
于 2012-12-22T12:20:58.787 回答