ios - 因类型为 Realm::LogicError: 数据类型不匹配的未捕获异常而终止

标签 ios objective-c swift realm

当我尝试在 Realm 上保存某些内容时,我的应用程序突然开始崩溃。我无法具体追踪这个错误发生在哪里。错误信息:

因类型为 Realm::LogicError 的未捕获异常而终止:数据类型不匹配

有什么想法吗?

最佳答案

事实证明,当您尝试保存 Realm 对象或将其分配给另一个 Realm 对象,而它仍然没有设置主键(或任何其他必需的键)时,就会导致此问题。

更好地解释一下,如果您创建了一个 Realm 对象并忘记设置其主键,那么当您尝试执行保存操作(通过 addOrUpdateObjectcommitWriteTransaction 或任何其他保存方法),甚至当您尝试将该对象与另一个 Realm 对象关联时(例如 chat.message = message,而 message 还没有 PK) ,该异常可能会被抛出。

要解决此问题,请确保您创建的每个 Realm 对象在保存之前都已设置其 PK 和所需的 key 。

关于ios - 因类型为 Realm::LogicError: 数据类型不匹配的未捕获异常而终止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44091621/

相关文章:

ios - iOS:我应该使用EST或EDT,为什么?

ios - 如何在 IOS 7 中实现 UIViewController 与前后过渡的导航?

swift - 如何使用 Siesta Swift 使另一个 ViewController 的发布请求返回的响应对象附加到 TableViewController

api - Swift 中的 Youtube API 到 AlamoFire

swift - swift 中这两个枚举声明有什么区别?

ios - 将弹出框添加到当前导航 Controller 层次结构

ios - 将 iOS 应用程序带到前台时更改屏幕

ios - 自定义表格单元格未调整大小以适合内容 View

iphone - 在 UITableview 中自动向下和向上滚动

iOS ooyala 视频播放器 : is there a way to play a list of videos?