iOS/Swift:tableView cellForRowAtIndexPath 崩溃

2024-01-09

我在第 389 行遇到 EXC_BREAKPOINT 崩溃

386    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
387        let cell = tableView.dequeueReusableCellWithIdentifier("StationsCell", forIndexPath: indexPath)
388        cell.textLabel?.text = self.suggestionStations?[indexPath.row]
389        return cell
390    }

以下是 Crashlytics 的崩溃报告,发生在 2% 的用户身上:

Thread : Crashed: com.apple.main-thread 0 Trenìt! 0x10004a2e4 specialized MasterViewController.tableView(UITableView, cellForRowAtIndexPath : NSIndexPath) -> UITableViewCell (MasterViewController.swift:389) 1 Trenìt! 0x100046488 @objc MasterViewController.tableView(UITableView, cellForRowAtIndexPath : NSIndexPath) -> UITableViewCell (MasterViewController.swift) 2 UIKit 0x18c6b239c -[UITableView _createPreparedCellForGlobalRow:withIndexPath:willDisplay:] + 544 3 UIKit 0x18c6a6fc4 -[UITableView _updateVisibleCellsNow:isRecursive:] + 2360 4 UIKit 0x18c49cc60 -[UITableView layoutSubviews] + 172 5 UIKit 0x18c3b9874 -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 572 6 QuartzCore 0x18bd11d58 -[CALayer layoutSublayers] + 168 7 QuartzCore 0x18bd0c944 CA::Layer::layout_if_needed(CA::Transaction*) + 320

知道为什么会发生这种情况吗?


事故原因是由于suggestionStations数组的索引处没有值。

我没有打电话ReloadData()当数组重置为 0 时,在表上。因此,当索引处的值不再存在时,表函数仍会在竞争条件下被调用。

修复方法是在重置数组后也调用 ReloadData()。否则,可能会检查是否为数组定义了索引,但如果每次都正确调用 reloadData,则不需要这样做。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

iOS/Swift:tableView cellForRowAtIndexPath 崩溃 的相关文章

随机推荐

  • 未找到 ID 为“osgi”的插件

    我正在尝试建立一个项目 https github com fge btf https github com fge btf 本地使用 gradle 有一个插件 osgi 正在使用 但每当我构建它时 我都会收到错误插件未找到 我尝试过提供不同
  • 如何从gradle Android Studio中的jar文件中删除单个模块

    如何从 jar 文件中删除单个包 我有两个来自不同供应商的 SDK 并且两个 SDK 都有谷歌 gson包包含在 jar 文件中 因为这导致我在 android studio 中运行构建时出现问题 它显示下图中的错误 我知道如何从存储库中排
  • formControlName 和 FormControl 有什么区别?

    我在用着ReactiveFormsModuleAngular2 创建一个包含表单的组件 这是我的代码 foo component ts constructor fb FormBuilder this myForm fb group full
  • 如何完成有关 Oracle 触发器的练习

    我必须解决这个关于触发器的练习 考虑以下用于表示的关系数据库模式 项目信息 人员 身份证 姓氏 姓名 国籍 项目 姓名 经理 起始年份 参与人数 国际 人员 项目 人员 ID 指定Oracle中需要的触发器来维护以下内容 完整性约束 a 参
  • 异步方法的事件订阅

    我想启动LoadDataAsync有两种方式 首先通过订阅的事件FormLoad 并通过经典方法ManualLoad 但我无法让它发挥作用 我无法在任务返回时进行订阅 和void这是有效的 但是与void can t await in th
  • 在 Windows 中使用 TortoiseSVN 设置 SVN:Externals

    我正在尝试设置svn externals在 Windows 机器上使用 TortoiseSVN 我有两个项目 两个存储库都已在同一台本地计算机上创建 当前的结构如下所示 我创建repoA repoB对于存储库和workA and workB
  • MongoDB 2.4 的“更新后限制数组中的元素数量”使用 C# 驱动程序?

    MongoDB 2 4 添加了一个新的 更新后限制数组中的元素数量 功能 http docs mongodb org manual tutorial limit number of elements in updated array 这是通
  • 我可以使用 Chrome DevTools 在客户端查看会话状态值吗?

    我只是好奇我们是否可以使用 Chrome DevTools 获取 查看网站的会话变量值 如果有人知道 请分享 不可以 您无法在客户端查看会话状态变量 Session状态存储在服务器端 客户端浏览器只知道SessionID存储在 cookie
  • 使用 JavaScript 更改 SVG 对象的高度和宽度

    我想在单击按钮时更改 svg 对象的高度和宽度 我尝试过但它不起作用 function modify document getElementById circle1 style height 10px document getElement
  • 展开宏中的宏

    给定以下宏 以函数调用方式访问编译器属性 例如spec section mysection void foo void define spec H spec H define spec section S attribute section
  • Java 中判断一个数是否为 Double

    我是 Java 新手 我试图弄清楚一个数字是否是 Double 如下所示 if typeof items elementAt 1 Double sum add i items elementAt 1 如果有人能告诉我如何重新排列语法以使其正
  • 使用正则表达式将字符串拆分为单词数组

    我正在尝试将字符串拆分为单词数组 但是我想在每个单词后面保留空格 这就是我正在尝试的 var re a z s gi var test test one two three four var results test match re 我期
  • 获取 Sitecore 中单个页面的个人资料关键分数

    我有关于 Sitecore Analytics 和用户个人资料密钥的问题 我需要能够获取单个页面的配置文件密钥的分数 例如 如果我有一个名为 traveler 的个人资料键 该键在给定页面上的值为 1 10 那么我需要能够获取内容作者分配的
  • messageBox.Show() 执行什么操作才能停止 UI 线程的执行?

    在 WPF 应用程序中 我将消息输出到文本框 并在这些消息之间调用一个设置仪器的函数 但是 这些消息都会同时出现 在函数调用结束时 我真的不知道如何清楚地解释我的问题 我会尽力 我有一个 WPF 应用程序 它使用串行端口从仪器获取数据 该应
  • 如何从祖父母标签继承CSS? [复制]

    这个问题在这里已经有答案了 我有一个两级嵌套的 div 我想应用包含类 c 的 div 其宽度与类 a 的 div 相同 如果它是父母 那么我想继承会完成这项工作 但这种情况下该怎么办呢 HTML 代码 div class a div cl
  • 如何将 Cassandra (>2.0) JVM 堆大小设置为 8GB?

    如何将 Cassandra gt 2 0 JVM 堆大小设置为 8GB 当我输入时free m它给了我以下内容 如何将 Cassandra JVM 堆大小设置为 8GB total used free shared buffers cach
  • 重命名 Pandas DataFrame 索引

    我有一个没有标题 带有日期时间索引的 csv 文件 我想重命名索引和列名 但使用 df rename 仅重命名列名 漏洞 我的版本是0 12 0 In 2 df pd read csv r D Data DataTimeSeries csv
  • 设置储值的 Svelte 用户注册问题

    helo 我正在尝试注册用户 成功后将 setContext 设置为新注册的用户 然后导航到主页 服务器正确响应并注册用户 但是当调用 setContext 时 我收到以下错误 index mjs 552 Uncaught 在承诺中 错误
  • EF 可以使用影子属性创建多列索引吗?

    我正在尝试使用影子属性创建多列唯一索引 我知道我只需添加一个属性就可以解决这个问题 但我想看看是否可以通过某种方式保持我的模型干净 要创建多列索引 您可以在 Fluent API 中使用以下选项 modelBuilder Entity
  • iOS/Swift:tableView cellForRowAtIndexPath 崩溃

    我在第 389 行遇到 EXC BREAKPOINT 崩溃 386 func tableView tableView UITableView cellForRowAtIndexPath indexPath NSIndexPath gt UI