Naz*_*san 0 uitableview ios swift
我正在尝试这个答案Cant insert rows into UITableView - Swift 3 for inserting row to the table view 它工作正常,但它们显示问题但跳过一些数据。
基本上我的问题是我有 2D 数组,var students : [[Student]]?我想插入一个有 4 行的部分。
在表视图中显示插入行的正确方法是什么。
到目前为止我正在尝试什么
func numberOfSections(in tableView: UITableView) -> Int {
return students?.count ?? 0
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return students?[section].count ?? 0
}
Run Code Online (Sandbox Code Playgroud)
并插入:
//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
}
Run Code Online (Sandbox Code Playgroud)
这是输出。如果您看到日志,您将看到跳过表视图中的第 8 - 11 行
我希望问题是因为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) }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1670 次 |
| 最近记录: |