Ошибка Thread 1: Fatal error: Unexpectedly found nil while unwrapping an Optional value


#1

После нажатия на Bar Button Item проект падает
Thread 1: Fatal error: Unexpectedly found nil while unwrapping an Optional value

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = menuTableView.dequeueReusableCell(withIdentifier: "MenuCell " ) as! MenuTableViewCell
cell.labelText.text = barItems[indexPath.row]
return cell
}

Источник: https://www.youtube.com/watch?v=LZHBDq1mgno


#2

На какую строчку ругается?

P.S. я бы выбрал другого автора (сужу только по конкретному видео уроку). Исходя из того как он показывает процесс работы, с перескакиванием во времени, не весь конечный код виден, а следовательно, не все моменты рассказываются. Для новичков это важно.


#3

–> let cell = menuTableView. dequeueReusableCell (withIdentifier: "MenuCell " ) as! MenuTableViewCell
cell.labelText.text = barItems[indexPath.row]

Сделал в точности как на видео. Меня вполне устраивает его результат. Других вариантов не нашёл.


#4

Вы ячейку зарегистрировали для таблицы?


#5

Сделал всё как на видео.


#6

Возможно, я не понял вопроса.
Моя цель вывести по нажатию на Bar Button Item список: Фотографии, Альбомы, Хранилище и т.д. чтобы дальше работать с этим.
Возможно, если вы подскажете как реализовать этот список, проблема на текущем этапе решится.


#7

Покажите ваш код, что бы не гадать.


#8

import UIKit

class MenuViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {

@IBOutlet weak var menuTableView: UITableView!

let barItems = ["ICloud", "Photo galery", "Photo albums"]

override func viewDidLoad() {
    super.viewDidLoad()

    menuTableView.delegate = self
    menuTableView.dataSource = self
}

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return barItems.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = menuTableView.dequeueReusableCell(withIdentifier: "MenuCell " ) as! MenuTableViewCell
    cell.labelText.text = barItems[indexPath.row]
    return cell
}

}


#9

Не вижу регистрации класса ячейки.
Должно быть tableView.register(...)
Либо в SB не указали идентификатор для ячейки.