ios - UITableView 滚动时崩溃
问题描述
我已经阅读了类似的问题,但仍然无法解决。我有一个在滚动时(快速)UITableView
崩溃的功能。cellForRowAt
崩溃不会发生在表中的特定点,而是随机发生。这是错误:
线程 1:致命错误:索引超出范围
这是我的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.menusCount
我认为您应该使,等正在访问的对象是menuManager.getMenu
线程安全的。
推荐阅读
- python - PyQt4_如何从MainWindow返回LoginWindow?
- google-apps-script - 如何获取表格宽度
- objective-c - 点击消息应用时 UIActivityController 崩溃
- sql - 返回找到的任何单词的 SQL 查询
- .net - .Net Core API 相同的 url 不同的租户有效负载
- angular - 如何从使用的组件导航到另一个组件,从方法?
- authentication - 有没有办法在不使用数据库的情况下在 Blazor 中进行外部身份验证?
- javascript - 如何创建一个对事件做出反应以加载更多数据的钩子?
- c++ - push_back 是否改变了存储在其向量中的类型的结构?
- reactjs - 在 Gatsby 中使用 GraphQL 和 React 进行小型 API 查询