在我的tableView
中func numberOfSections(in tableView: UITableView) -> Int {
print("numberOfsection Call")
return 1
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
print("numberOfRows Call")
if places.count < self.numberPlaces {
return places.count
}
return self.numberPlaces
}
应用程序因此错误而崩溃:
由于未捕获的异常终止应用程序&#39; NSInternalInconsistencyException&#39;,原因:&#39;尝试将第0行插入第0部分,但更新后第0部分只有0行
添加此动画后
func insertRowsMode3() {
numberPlaces = 0
insertRowMode3(ind: 0)
}
func insertRowMode3(ind:Int) {
let indPath = IndexPath(row: ind, section: 0)
numberPlaces = ind + 1
tableView.beginUpdates()
tableView.insertRows(at: [indPath], with: .right)
tableView.endUpdates()
guard ind < places.count-1 else { return }
DispatchQueue.main.asyncAfter(deadline: .now()+0.20) {
self.insertRowMode3(ind: ind+1)
}
}
有什么问题吗?有一种方法可以创建不会使应用程序崩溃的相同动画吗?
更新
public func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: resueIdentifier, for: indexPath) as! MyTableViewCell
cell.delegate = self
cell.myCellNumber.text = "\(indexPath.row + 1)"
cell.tag = indexPath.row
cell.refButton.addTarget(self, action: #selector(CourseClass2.reloadCell(_:)), for: .touchUpInside)
let place = sortedArray[indexPath.row]
cell.update(place: place)
cell.selectionStyle = .none
if indexPath.row == places.count - 1 {
CarTo(false)
}
print("CellForRow Call")
return (cell)
}