【问题标题】:reload cell data in table view with Swift使用 Swift 在表格视图中重新加载单元格数据
【发布时间】:2014-12-29 19:57:27
【问题描述】:

如何在我的表格视图中重新加载单元格的数据?我想向我的服务器发出请求,服务器响应 JSON。目前我实现了请求和响应处理,我可以在我的单元格中显示数据。但我希望服务器只响应可能十个数据集。当我在应用程序中使用我的十个单元格滚动到表格视图的末尾时,我想向我的服务器发出下一个请求,服务器提供下一个十个数据集,依此类推。我使用 Swift 作为编程语言。

谢谢!

【问题讨论】:

  • 您可以使用 TableView 函数 tableView.visibleRows() 获取可见单元格数组,也可以通过 tableView.indexPathsForVisibleRows() 获取可见行的索引路径!然后就可以通过 tableView.reloadData() 函数重新加载表格了!

标签: ios uitableview swift reload


【解决方案1】:

您可以使用self.tableView.reloadData() 重新加载整个表格或使用self.tableView.reloadRowsAtIndexPaths(paths, withRowAnimation: UITableViewRowAnimation.None) 重新加载特定单元格。

你可以阅读更多关于 UITableView 类here

【讨论】:

  • 是的 - 这就是为什么我给出的代码是 swift ......我将添加“自我”。只是为了确保。
  • 我也使用 self 表示它是一个 ivar ;) 对我来说,这使它更清楚。
  • @YogevSitton self.tableView.reloadRowsAtIndexPaths(paths, withRowAnimation: UITableViewRowAnimation.None)...我有tableView,我想在0索引处添加一个新单元格...我该怎么做那,我的意思是..我没有得到如何创建具有特定行和列的 indexpath 对象,因为没有该类型的构造函数?
【解决方案2】:

在 Swift 3.0 中重新加载 tableview 的可见单元格

pTableView.beginUpdates()

pTableView.reloadRows(at: pMessagesTableView.indexPathsForVisibleRows!, with: .none)

pTableView.endUpdates()

【讨论】:

    【解决方案3】:

    试试这个...

    斯威夫特 2.0

    dispatch_async(dispatch_get_main_queue(), { () -> Void in
       self.tableView.reloadData()
    })
    

    斯威夫特 3.0

    DispatchQueue.main.async {
        self.tableview.reloadData()
    }
    

    【讨论】:

    • 如果你在一个块内调用 reloadData(),你必须调度它以便它在 main_queue 上
    【解决方案4】:

    您可以使用TableView 函数tableView.visibleRows() 或您可以通过tableView.indexPathsForVisibleRows() 获得IndexPath 的可见行来获取可见单元格数组!然后你可以通过tableView.reloadData()函数重新加载表!

    查看以下链接

    link1

    您可以阅读UITableView Class Here

    【讨论】:

      猜你喜欢
      • 2019-07-08
      • 1970-01-01
      • 2018-07-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-11
      相关资源
      最近更新 更多