每当我运行该应用程序时,tableView
都没有数据,等待用户输入。问题是,如果numberOfSections
为1,则可以正常工作,但是当我将其更改为2时,它会崩溃,因为索引超出范围
func numberOfSections(in tableView: UITableView) -> Int {
return 2
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
guard let cell = tableView.dequeueReusableCell(withIdentifier: "expenseCell") as? ExpenseCell else { return UITableViewCell() }
let budget = userBudget[indexPath.section][indexPath.row]
cell.delegate = self
cell.configureCell(budget: budget)
return cell
}
func tableView(_ tableView: UITableView, canEditRowAt indexPath: IndexPath) -> Bool {
return true
}
func tableView(_ tableView: UITableView, editingStyleForRowAt indexPath: IndexPath) -> UITableViewCellEditingStyle {
return UITableViewCellEditingStyle.none
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return userBudget[section].count // <- Crash here
}
func tableView(_ tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
return "Practice with Sections \(section)"
}
最佳答案
这是因为您正在访问index 1
的userBudget
,而我认为它仅包含0 index
。
关于ios - UITableView节索引超出范围,但并不是真正超出范围,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46784507/