我有一个项目数组和用于显示它们的 TableView。项目包含 4 个属性。并且有一个方法可以随机生成项目。最初,数组为空,但在 viewDidLoad 中我有方法,
我有一个项目数组和用于显示它们的 TableView。项目包含 4 个属性。并且有一个方法可以随机生成项目。最初,数组为空,但在 viewDidLoad 中,我有一个方法,它将 100 个项目附加到数组中,延迟约 1 秒。数组会一直附加,直到其计数达到约 1_000_000 个项目。当我启动应用程序时,它会冻结。
这是我的 tableView 方法:
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return model.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: DealCell.reuseIidentifier, for: indexPath) as! DealCell
guard model.count != 0 else {
cell.instrumentNameLabel.text = "no data"
cell.priceLabel.text = "no data"
cell.amountLabel.text = "no data"
cell.sideLabel.text = "no data"
return cell
}
cell.instrumentNameLabel.text = "\(model[indexPath.row].instrumentName)"
cell.priceLabel.text = "\(model[indexPath.row].price)"
cell.amountLabel.text = "\(model[indexPath.row].amount)"
cell.sideLabel.text = "\(model[indexPath.row].side)"
return cell
}
附加数组的函数:
server.subscribeToUpdate { updates in
self.model.append(contentsOf: updates)
self.tableView.reloadData()
}
如何解决这个问题?可能是将 \'numberOfRowsInSection\' 的计数器设置为 100,然后当滚动到第 100 个项目时将其增加到 200 等。或者有更简洁的解决方案吗?
尝试使用 ReusableCell,但没有任何反应。