【发布时间】: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