【问题标题】:Assertion failure in reloading tableView with tableHeader TVOS使用 tableHeader TVOS 重新加载 tableView 时断言失败
【发布时间】:2015-11-15 15:51:32
【问题描述】:

我正在使用UISearchController,在过滤内容数组后尝试重新加载数据后出现此错误。如果我将 tableView 的 tableHeaderView 之外的任何其他视图设置为 UISearchController 的 searchBar,则不会发生这种情况。如果我使用任何其他视图来保存搜索栏,一切正常。有没有人遇到过这个错误,如果有,解决办法是什么。

-[UITableView _cellReuseMapForType:] 中的断言失败,/BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit_Sim/UIKit-3512.29.300.16/UITableView.m:3962 2015-11-15 15:43:34.166 AirMediaCenterTV[23894:1052893] *** 由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“尝试访问未知视图类型 4 的视图重用图”

【问题讨论】:

  • 最近几天我遇到了同样的问题。我必须完全删除 tableHeader 才能重新加载数据。我的表头中有一个 UISegmentedControl 来进行排序,在表头视图中它会因上述异常而崩溃,但将其移到视图控制器视图中修复了它。如果我有时间,我将整理一个示例并提交错误报告
  • @earthtrip 是的,我有类似的解决方法,只是删除了搜索栏并将其放在其他地方。
  • 我在 tvOS 上遇到了同样的问题,但我没有使用 UISearchController。对我来说,当我向 loadViewController 添加延迟以远程模拟加载数据时(我现在正在使用假数据),它就开始发生了。基于此,我的猜测是它与线程访问或某种竞争条件有关。
  • 更新:我发现我收到了这个错误,因为我的表格视图的标题中有一个按钮。当我禁用该按钮时,我不再收到此错误。对我来说,解决方法是在重新加载我的表格之前禁用该按钮,然后在完成加载后重新启用它。绝对看起来像是苹果的一个错误。

标签: objective-c uisearchcontroller tvos


【解决方案1】:

我在 tvOS 上看到过类似的崩溃问题,但我似乎无法找到解决办法。我没有使用UISearchController。我已经从UITableView 中删除了所有registerClass: 调用,但这似乎不起作用。

【讨论】:

  • 这应该是一条评论。
猜你喜欢
  • 2014-09-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-11
  • 1970-01-01
  • 2011-05-19
相关资源
最近更新 更多