我正在开发一款需要以JSON或XML格式从我的服务器加载数据的iPhone应用程序。由于应用程序是免费的,我获取了大量数据,因为加载数据的时间很长,我在启动应用程序时会崩溃。所以我明白我不应该立即获得“全部”JSON,但我必须[逐点]加载数据“
我发现这个项目很适合我的需求,但无法根据我的需要修改它:
https://github.com/nmondollot/NMPaginator
该项目采用Twitter api作为数据源,如果我需要处理一个返回JSON格式数据的简单php文件怎么办?
nb:我尝试修改后尝试联系项目开发人员,但直到现在才得到答案。
感谢。
答案 0 :(得分: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];
});
}];
});