我的tableview控制器中有一个名为“fetchEntries”的方法,它通过从Web服务获取来放置数据。它还采用名为“pageNumber”的参数,我通过从另一个方法调用此方法来递增。这个pageNumber实际上是从rss feed的不同页面中提取数据。
- (void) fetchEntries:(NSInteger )pageNumber
{
channel = [[TheFeedStore sharedStore] fetchWebService:pageNumber withCompletion:^(RSSChannel *obj, NSError *err){
if (!err) {
int currentItemCount = [[channel items] count];
channel = obj;
int newItemCount = [[channel items] count];
int itemDelta = newItemCount - currentItemCount;
if (itemDelta > 0) {
NSMutableArray *rows = [NSMutableArray array];
for (int i = 0; i < itemDelta; i++) {
NSIndexPath *ip = [NSIndexPath indexPathForRow:i inSection:0];
[rows addObject:ip];
}
[[self tableView] insertRowsAtIndexPaths:rows withRowAnimation:UITableViewRowAnimationBottom];
[aiView stopAnimating];
}
}
}];
[[self tableView] reloadData];
}
它工作得非常好。当例如pageNumber为1并且它正在tableview中加载数据的过程中出现问题时,如果由于涉及图像而尚未完成该过程,并且我将pageNumber增加到2,它将停止加载来自第1页的条目并开始加载第2页而未完成第1页。
问题:1)我有什么方法可以自定义,以便“insertRowsAtIndexPath”方法开始加载从第1页条目完成的索引处开始的第2页条目。 2)或者,有什么方法可以将它们放在单独的线程中,这样它们就可以独立运行,并且它们可以同时运行。
任何帮助将不胜感激。提前谢谢。