当我尝试在 Realm 上保存某些内容时,我的应用程序突然开始崩溃。我无法具体追踪这个错误发生在哪里。错误信息:
因类型为 Realm::LogicError 的未捕获异常而终止:数据类型不匹配
有什么想法吗?
最佳答案
事实证明,当您尝试保存 Realm 对象或将其分配给另一个 Realm 对象,而它仍然没有设置主键(或任何其他必需的键)时,就会导致此问题。
更好地解释一下,如果您创建了一个 Realm 对象并忘记设置其主键,那么当您尝试执行保存操作(通过 addOrUpdateObject
或 commitWriteTransaction
或任何其他保存方法),甚至当您尝试将该对象与另一个 Realm 对象关联时(例如 chat.message = message
,而 message
还没有 PK) ,该异常可能会被抛出。
要解决此问题,请确保您创建的每个 Realm 对象在保存之前都已设置其 PK 和所需的 key 。
关于ios - 因类型为 Realm::LogicError: 数据类型不匹配的未捕获异常而终止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44091621/