Здравствуйте, у меня есть UIViewController
внутри UINavigationController
, в котором есть UITableView
. Я сбрасываю свою модель данных, когда пользователь нажимает кнопку «назад» (которая вызывает функцию popViewController
UINavigationController
). Если я popViewController
, при прокрутке UITableView
приложение вылетает на функции cellForRowAt
. Что может вызвать эту проблему?
cellForRowAt Функция:
class MyViewController: UIViewController, TableView... {
var myChecksModel: MyChecksModel!
.
.
.
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell: MyChecksListTableViewCell = tableView.dequeueReusableCell(withIdentifier: cellId) as? MyChecksListTableViewCell ??
MyChecksListTableViewCell(style: .default, reuseIdentifier: cellId)
let check = self.myChecksModel.chequeList[indexPath.row]
cell.myChecksData = check
return cell
}
Кнопка возврата
@objc func backButtonTapped(_ sender: UIButton) {
DispatchQueue.main.async {
self.myChecksModel.resetModel()
self.navigationController?.popViewController(animated: true)
}
}
Сброс функции модели
class MyChecksModel: Codable {
var chequeList: [MyClass] = []
func resetModel() {
self.chequeList = []
}