gpt4 book ai didi

ios - 如何在 UITableView 中插入多行

转载 作者:行者123 更新时间:2023-11-28 10:13:01 24 4
gpt4 key购买 nike

我正在尝试这个答案 Cant insert rows into UITableView - Swift 3对于将行插入 TableView ,它工作正常但它们显示时出现问题但跳过了一些数据。

基本上我的问题是我有二维数组 var students : [[Student]]? 我想插入一个有 4 行的部分。

在 TableView 中显示插入行的正确方法是什么。

到目前为止我正在尝试什么

 func numberOfSections(in tableView: UITableView) -> Int {
return students?.count ?? 0
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return students?[section].count ?? 0
}

并插入:

 //scrolling down time calling this method
func oldestState(){
self.students?.append(getdata()) //Update students property
self.newsFeedTableView.beginUpdates()
let indexPaths = (0..<(getdata().count)).map { IndexPath(row: $0, section: (self.students?.count)! - 1) }
print(indexPaths)
self.newsFeedTableView.insertSections([(self.students?.count)! - 1], with: UITableViewRowAnimation.automatic)
self.newsFeedTableView.insertRows(at: indexPaths, with: UITableViewRowAnimation.automatic)
self.newsFeedTableView.endUpdates()
}

func getdata() -> [Student]{
var _students = [Student]()
for i in itemNumber..<(itemNumber + 4) {
let student = Student()
student.name = "\(i)"
print("adding student roll number : \(student.name)")
_students.append(student)
}
itemNumber += 4
return _students
}

check full code

这是输出。如果你看到日志,你会看到在 TableView 中跳过第 8 - 11 行

enter image description here

最佳答案

我希望问题是因为 getdata() 方法被调用了两次,因此 itemNumber 值增加了 4,两次

试试这个:

let data = getdata()
self.students?.append(data) //Update students property
self.newsFeedTableView.beginUpdates()
let indexPaths = (0..<(data.count)).map { IndexPath(row: $0, section: (self.students?.count)! - 1) }

关于ios - 如何在 UITableView 中插入多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45480244/

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