Индекс вне диапазона в Swift 3 - PullRequest
0 голосов
/ 09 июня 2018
@IBOutlet weak var mainTableView: UITableView!
var taskArray: [Task]? = nil

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return 10
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "mainCell") as! mainCell

    taskArray = CoreDataHandler.fetchObject()

    let task = taskArray![indexPath.row]

    cell.titleLabel.text = task.title
    //cell.dateLabel.text = String(task.date)

    return cell
}

Я всегда получаю сообщение об ошибке: «Поток 1: фатальная ошибка: индекс выходит за пределы диапазона» в этой строке: let task = taskArray! [IndexPath.row].Кто-нибудь может мне помочь?

1 Ответ

0 голосов
/ 09 июня 2018

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

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
  return taskArray.count
}

// также конвертировать

var taskArray = [Task]()

//

выборка должна быть в viewDidLoad

override func viewDidLoad()  {
   super.viewDidLoad()
   taskArray = CoreDataHandler.fetchObject()
}

, а не внутри cellForRowAt

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