Я довольно новичок в Swift, и у меня есть проблема, с которой я боролся.
У меня есть ViewController с табличным представлением и этот ViewController, встроенный в TabViewController. Каждый раз, когда я меняю вкладки приложение вылетает, и я предполагаю, что это из метода cellForRowAt: и тот факт, что он возвращает ноль.
Я получаю следующие ошибки:
Неустранимая ошибка: неожиданно обнаружил ноль при неявном развертывании необязательного значения:
И это указывает здесь: tableView.delegate = self
Это код:
override func viewDidLoad() {
super.viewDidLoad()
tableView.delegate = self
tableView.dataSource = self
DispatchQueue.main.asyncAfter(deadline: .now()+0.3) {
self.tableView.reloadData()
}
Я перезагружаю данные после 0.3, потому что в viewDidLoad я получаю JSON с сервера, и требуется время для обработки всех данных
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return dateArray.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "AlertsNotSolved") as! AlertsNotSolved
cell.isUserInteractionEnabled = false
cell.dateLabel.text = dateArray[indexPath.item]
cell.notValidLabel.text = stateArray[indexPath.item]
cell.problemNameLabel.text = nameArray[indexPath.item]
return cell
}
dateArray, stateArray и nameArray - это массивы, которые я заполняю данными из JSON и имеют одинаковое количество элементов.
Есть предложения?