Как решить "Поток 1: Неустранимая ошибка: индекс вне допустимого диапазона" в двумерном массиве - PullRequest
0 голосов
/ 11 июля 2020

Я получаю ошибку sh при запуске приложения «Поток 1: Неустранимая ошибка: индекс вне допустимого диапазона». Полная ошибка:

Fatal error: Index out of range: file /Library/Caches/com.apple.xbs/Sources/swiftlang/swiftlang-1103.2.25.8/swift/stdlib/public/core/ContiguousArrayBuffer.swift, line 444
2020-07-11 14:04:40.909080+0200 Carrot[13983:705959] Fatal error: Index out of range: file /Library/Caches/com.apple.xbs/Sources/swiftlang/swiftlang-1103.2.25.8/swift/stdlib/public/core/ContiguousArrayBuffer.swift, line 444
(lldb) 

Может ли кто-нибудь дать мне указания, как я могу решить эту ошибку? Я получаю сообщение об ошибке в этой строке:

return twoDArray[section].items.count

Это мой полный файл ViewController:

class TableViewController: UITableViewController, AddTask, ChangeButton {
    
var sections = FoodData.foodCategories

var twoDArray = [
    Section(isExpanded: true, items: [Task(name: "No items yet")]), Section(isExpanded: true, items: [Task(name: "No items yet")]), Section(isExpanded: true, items: [Task(name: "No items yet")]), Section(isExpanded: true, items: [Task(name: "No items yet")]), Section(isExpanded: true, items: [Task(name: "No items yet")]), Section(isExpanded: true, items: [Task(name: "No items yet")]), Section(isExpanded: true, items: [Task(name: "No items yet")]), Section(isExpanded: true, items: [Task(name: "No items yet")]), Section(isExpanded: true, items: [Task(name: "No items yet")]),
    ]

// MARK: - TableView data source

override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    
    if section == 0 {
        return 1
    }
    
    return twoDArray[section].items.count
}

А вот структура FoodData:

struct FoodData {
static let foodCategories = ["New item", "Produce ?", "Meat ?", "Breakfast ?", "Seafood ?", "Dairy ?", "Frozen ?", "Drinks ?", "Snacks ?", "Grains", "Cans & Jars ?", "Spices", "Sauces & Oils", "Paper", "Cleaning", "Personal", "Baking ?", "Other"]

}

1 Ответ

1 голос
/ 11 июля 2020

Проблема вызвана кодом, который вы не показали. Вы возвращаете слишком большое число в numberOfSections.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...