每当我运行该应用程序时,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 1userBudget,而我认为它仅包含0 index

关于ios - UITableView节索引超出范围,但并不是真正超出范围,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46784507/

10-10 21:01