我想创造"很长时间"有新闻的表,但我不知道有多少新闻服务器存在。 1个单元格= 1个新闻。当用户滚动他的表时,我将动态添加带有新闻的单元格。 我通过捆绑获得新闻(前5,后5,......)。
设置行数的最佳方法是什么?
func tableView(_ tableView:UITableView, numberOfRowsInSection section:Int) -> Int
{
return ???
}
答案 0 :(得分:2)
取决于您希望如何从服务器获取新闻:
如果您在一个请求中获取所有数据(整个新闻)(可能这不是您想要实现的),您应该返回新闻数组的数量 - 某些方法,您应该有一个包含的数组新闻模式 - :
func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {
// if true, that means you reached the last row
if indexPath.row == new.count - 1 {
// request the server for getting the next bundle
// ...
// append responsed data to news array
// ...
// call tableView.reloadData()
tableView.reloadData()
}
}
如果您通过捆绑包获取新闻(让我们先说十,然后说第二个......),您需要检查一下表视图是否已到达最后一个单元格,以便调用服务器以获取下一个一捆新闻,您可以查看:
{{1}}
希望这会有所帮助。
答案 1 :(得分:-1)
首先,你需要一个网络服务连接或ssh来了解你有多少新闻,你可以获取新闻和使用。
var fetchedNewsCount: Int?
func tableView(_ tableView:UITableView, numberOfRowsInSection section:Int) -> Int
{
return self.fetchedNewCount
}