UITableView子类中的KVC在启用可访问性时导致崩溃



我有一个自定义的UITableView子类,我覆盖+accessInstanceVariablesDirectly返回NO,以确保没有setter的属性不能使用KVC设置。

当从视图层次结构中删除这个表视图时,应用程序有时会崩溃,现在是奇怪的部分:只有当可访问性被启用时!(例如,无障碍检查器是可见的,或者您在物理设备上启用了无障碍功能)

如果我不覆盖+accessInstanceVariablesDirectly,一切工作正常。我想也许UITableView依赖于直接访问一些实例变量-但是这个方法的意义是什么,如果我可以通过使用它来打破超类?是否有一种方法来指定每个属性的行为,如+automaticallyNotifiesObserversForKey: ?然而,我感到困惑的是,这个问题只存在于可访问性启用时。

我试着用各种仪器分析这个项目,但没有成功。

您可以在这里找到重现该问题的最小项目。我将非常感谢任何关于为什么会发生这种情况或如何实现我想要的指示。

这个问题似乎在iOS 9中得到修复。

最新更新