试图回溯未捕获的异常' RLMException',原因......只能在RLMArray上调用

时间:2017-03-19 10:05:54

标签: ios swift realm

我无法追查其中一个错误的来源:

***由于未捕获的异常而终止应用程序' RLMException',原因:'此方法只能在从RLMRealm'

检索到的RLMArray实例上调用

我知道我很可能在filter()实例上调用了sorted()Object函数,而该函数尚未正确存储在域中。更糟糕的是,我的应用程序在模拟器中运行时完全没问题,但是当我在iPhone上运行它时它不会,所以线程时间可能正在发挥作用。

当我使用Swift时,很难捕获并回溯Exception。除了逐步完成每一步之前,你有什么其他技巧可以建议吗?

1 个答案:

答案 0 :(得分:1)

好的,所以我发现了问题,但有趣的是它最终会被报道。

错误的原因是我的部分代码试图将通知块添加到List<>在一个正在致力于其领域的对象中。为了克服这个错误,我确保先提交提交,然后再添加通知块:生命再好。有趣的是,它仅在实际设备上运行而不是在模拟器中运行时出现,但这些都是模拟器的变幻莫测。

对于realm.io来说,查看addNotificationBlock关于此错误的前提条件并抛出一个更有意义的错误,使程序员更容易陷阱和解决,也许会有所帮助。