[英]UITableView Dynamic Datasource
我有一个稍微复杂的表问题,我设置了表,并为其指定了节数和每个节的行数。 我实际上没有单元格的任何数据,此时它们只是空的。
我想做的是,当用户滚动单元格,进行API调用并获取该单元格的数据时,再假设接下来的50个单元格。
API调用是异步的,并且一旦我进行该调用,我就不想在用户滚动时在下一个单元格进行调用,因为我知道数据很快就会返回。
有什么想法或建议吗?
- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableView *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
// Pull data for next 50 table view cells
// The data will come from a server
return cell;
}
听起来这是一个绝佳的机会,可以引入单独的服务来管理网络请求,而不是将该行为嵌入到表的数据源中间。 如果您的数据源请求此服务尝试加载接下来的50个单元,则该服务可以决定是否应实际启动新的网络请求。 让您的服务实例跟踪正在进行的请求以及它们预期覆盖的索引路径范围,以便它可以确定何时-shouldLoadItemsStartingAtIndexPath:
样式消息应导致新的网络请求。
您正在寻找的是这种模式吗?或者您对方法有更具体的问题吗?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.