我有UITableView
来显示数据列表。
列表将包含图像,因此我正在加载延迟加载的图像。现在我不想一次加载整个列表。
加载应该是这样的,首先它应该加载大约10条记录,当我们向下滚动到tableview
时,它应该自动加载接下来的10条记录。
为此我需要在滚动到底部时添加行。 tableview
可能包含不同的部分。
那么如何在向下滚动时在tableview
的末尾添加新行和新部分?
答案 0 :(得分:1)
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
if (indexPath.row == [yourArray count]-1)
{
//start fetching the next set of data in background asynchronously and when fetching is complete use delegate methods to reload or append your current UITableView , meanwhile start a activity indicator as footer to show loading
}
}
这是有效的方法,如果您在滚动到达底部时尝试同步实现,则会导致设备卡住
答案 1 :(得分:1)
查看Apple documentation about UITableView。 您可以使用以下方法添加行:
- (void)insertRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation:(UITableViewRowAnimation)animation;
答案 2 :(得分:1)
首先,您要做的事情称为延迟加载。
表示您的表格视图将在当前对用户可见的单元格中加载图像或显示数据。请查看this链接。它提供了可能对您有帮助的示例代码。
要插入行,您可以使用
(void)insertRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation:(UITableViewRowAnimation)animation;