当用户到达当前加载的内容的末尾时,很难确定如何向我的tableview添加其他部分。我的表设置方式是每个内容都是tableview中的一个部分,我不知道如何使用像这样的库将50个新部分添加到我的表中:
https://github.com/samvermette/SVPullToRefresh
- (void)insertRowAtBottom {
__weak SVViewController *weakSelf = self;
int64_t delayInSeconds = 2.0;
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC);
dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
[weakSelf.tableView beginUpdates];
[weakSelf.dataSource addObject:[weakSelf.dataSource.lastObject dateByAddingTimeInterval:-90]];
[weakSelf.tableView insertRowsAtIndexPaths:@[[NSIndexPath indexPathForRow:weakSelf.dataSource.count-1 inSection:0]] withRowAnimation:UITableViewRowAnimationTop];
[weakSelf.tableView endUpdates];
[weakSelf.tableView.infiniteScrollingView stopAnimating];
});
}
答案 0 :(得分:1)
我首先制作了我的数组Mutable,以便我可以添加对象。然后你还必须重新加载tableview,因为你正在改变myArray.count
的数量我查找NSIndexSet
是什么,我为我的数组创建了一个,所以我可以为我的tableview设置新的部分(添加底部或顶部)这是完整的代码块"我用过的。
//Reload the tableview and update the array count
[self.tableView reloadData];
//Start the update
[weakSelf.tableView beginUpdates];
//Created the NSIndexSet to go into the next method
NSIndexSet *indexSet = [self.games indexesOfObjectsPassingTest:^(id obj, NSUInteger idx, BOOL *stop){
return [obj isKindOfClass:[NSString class]];
}];
//Inserting the new sections
[weakSelf.tableView insertSections:indexSet withRowAnimation:UITableViewRowAnimationTop];
[weakSelf.tableView endUpdates];
//Stop the Animation
[weakSelf.tableView.pullToRefreshView stopAnimating];
如果您没有重新加载tableview,那么您的tableview 将不会更新。它甚至可能会崩溃,因为出现了一些奇怪的错误。