如何解决 uiTableview 滚动应用程序崩溃,它会在 swift 中引发数组索引超出范围异常?

Posted

技术标签:

【中文标题】如何解决 uiTableview 滚动应用程序崩溃,它会在 swift 中引发数组索引超出范围异常?【英文标题】:How do I solve the uiTableview scrolling app crash which throws array index out of bound exception in swift? 【发布时间】:2021-06-09 19:36:25 【问题描述】:

我正在加载数据并更新单元格,当我快速滚动时,应用程序崩溃并在 cellforrowat: 索引路径处抛出数组索引超出范围。我该如何克服这个问题?

【问题讨论】:

除非您发布相关代码,否则无法判断问题所在。 好,我来分享一下。 【参考方案1】:

您的 tableView 正在尝试从您的数据源访问实际上不存在的数据。

假设您有这样的数据源。

let dataSource = [[String]]()

那么您的表格视图委托方法应该如下所示。

func numberOfSections(in tableView: UITableView) -> Int 
     return dataSource.count


func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int 
     return dataSource[section].count


func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell 
    let data = dataSource[indexPath.section][indexPath.row]
     
   //your code     

【讨论】:

以上是关于如何解决 uiTableview 滚动应用程序崩溃,它会在 swift 中引发数组索引超出范围异常?的主要内容,如果未能解决你的问题,请参考以下文章

iPhone:滚动 UITableView 多达 60 多个自定义单元格时应用程序崩溃

UITableView 在快速滚动时崩溃

滚动时 UITableView 崩溃

iOS:滚动 UITableView 时应用程序崩溃/内存被填充

滚动 UITableview 时发生崩溃

当 UISearchBar 处于活动状态时,滚动到 UITableView 应用程序会崩溃