EXC_BAD_ACCESS 读取 NSFetchedResultsController 的 fetchedObjects 属性 时出错(仅在模拟器上)

EXC_BAD_ACCESS error (only on simulator) when reading fetchedObjects property of NSFetchedResultsController

奇怪的是,这个问题只发生在 iOS 模拟器上。

在我进行更改并保存我的数据,然后尝试访问控制器的 fetchedObjects 之后,我遇到了错误的访问错误。

即使我只是尝试检查 fetchedObjects 是否为 nil,我也获得了 EXC_BAD_ACCESS 访问权限。控制器肯定存在,我可以打印它的描述或例如 fetchRequest 属性。只是访问fetchedObjects数组时出错。

我不确定如何调试它,因为它似乎来自 SDK。

如有任何帮助,我们将不胜感激。

我遇到过类似的事情,我认为这可能是最新 Xcode 测试版中的一个问题。如果您使用的是批量获取的请求并且使用的是 Xcode 6.3(也可能是 6.2),那么我认为这只是一个错误。你必须解决它,并希望它能尽快修复。

尝试删除您的批处理,看看是否仍然发生这种情况。

仅供参考,我为此向 Apple 提交了错误报告,如果您也是这种情况,那么您也应该这样做。更多错误报告 = 更多关注!

我在 iOS 9.1 中遇到过类似的问题。

结果我需要在 NSFetchRequest 打开批处理 并将其设置为大于 fetchedObjects 计数的数字以修复它:

fetchRequest.fetchBatchSize = 1_000_000

我也遇到了类似的问题。 ios 10,xcode 8.3.3。在模拟器和真实设备中。

当我设置 myFetchRequest.fetchBatchSize = 30 // 不是 0

然后在 tableViewController 中。访问 myFetchResutlController.fetchedObejcts 将出现该错误。