gpt4 book ai didi

ios - 在 TableView 中添加额外的行

转载 作者:行者123 更新时间:2023-11-28 06:31:32 25 4
gpt4 key购买 nike

我使用 Swift 3。我有 7 行的 UITableView:

override func viewDidLoad() {
super.viewDidLoad()
self.tableView.delegate = self
self.tableView.dataSource = self
}

func tableView(_ tableView:UITableView, numberOfRowsInSection section:Int) -> Int
{
return 7
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
{
if (IndexPath.row == 6)
{
tableView.beginUpdates()
var index = IndexPath(row: 7, section: 0)
tableView.insertRows(at: [index], with: UITableViewRowAnimation.automatic)
tableView.endUpdates()
}
}

当我滚动到表格中的最后一个单元格时,我想添加额外的单元格。但是我得到了这个错误:

Invalid update: invalid number of rows in section 0. The number of rows contained in an existing section after the update (7) must be equal to the number of rows contained in that section before the update (7), plus or minus the number of rows inserted or deleted from that section (1 inserted, 0 deleted) and plus or minus the number of rows moved into or out of that section (0 moved in, 0 moved out).

最佳答案

当你从 tableView 中插入或删除任何行时,你应该更新你的数据源,以便对象的数量保持等于 tableView 中的行数

func tableView(_ tableView:UITableView, numberOfRowsInSection section:Int) -> Int {        
return dataSource.count
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if (IndexPath.row == 6) {
tableView.beginUpdates()
var index = IndexPath(row: 7, section: 0)
let newObject = // create new model object here
dataSource.insert(newObject, at: 7)
tableView.insertRows(at: [index], with: UITableViewRowAnimation.automatic)
tableView.endUpdates()
}
}

关于ios - 在 TableView 中添加额外的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40193709/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com