gpt4 book ai didi

ios - UITableView 滚动时崩溃

转载 作者:行者123 更新时间:2023-11-30 11:26:21 25 4
gpt4 key购买 nike

我已经读过类似的问题,但仍然无法解决。我有一个 UITableView 在滚动(快速)时在 cellForRowAt 函数中崩溃。崩溃不是发生在表中的特定点,而是随机发生的。这是错误:

Thread 1: Fatal error: Index out of range

这是我的cellForRowAt:

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cellIdentifier = "menuCell"
let cell = tableView.dequeueReusableCell(withIdentifier: cellIdentifier, for: indexPath) as? MenuTableCell
return self.setMenuCell(cell: cell, indexPath: indexPath)
}

setMenuCell 是:

private func setMenuCell(cell: MenuTableCell?, indexPath: IndexPath) -> MenuTableCell {
print(indexPath.row, self.menuManager.menusCount)
cell?.cliccaPerInfoLabel.text = LocalizedStrings.otherDishes
cell?.altriPiattiLabel.isHidden = !((self.menuManager.getMenu(index: indexPath.row).getDishes().count) > 3)
cell?.piatto3Label.isHidden = !((self.menuManager.getMenu(index: indexPath.row).getDishes().count) >= 3)
cell?.numeroMenuLabel.text = "Menu \(indexPath.row+1)"
cell?.numeroPiattiLabel.text = String(format: LocalizedStrings.numberOfDishes, (self.menuManager.getMenu(index: indexPath.row).getDishes().count))
cell?.piatto1Label.text = String(format: LocalizedStrings.dishNumber, 1, (self.menuManager.getMenu(index: indexPath.row).getDishes()[0].getDescription()))
cell?.piatto2Label.text = String(format: LocalizedStrings.dishNumber, 2, (self.menuManager.getMenu(index: indexPath.row).getDishes()[1].getDescription()))
return cell!
}

self.menuManager 是一个跟踪菜单的对象。无法理解出了什么问题。预先感谢您的帮助!

更新

这是我的numberOfRowsInSection函数:

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return self.menuManager.menusCount
}

最佳答案

这是一个经典的读者-作者问题。我认为您应该使 menuManager.menusCountmenuManager.getMenu 等访问的对象是线程安全的。

关于ios - UITableView 滚动时崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50704033/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com