我绝对喜欢将Realm(0.92)与Swift结合使用,但是对从数据库读取对象有疑问。我的目标是检索具有已知唯一ID(也恰好是主键)的单个对象。
所有文档似乎都是围绕查询多个对象进行过滤的。在这种情况下,我知道对象ID,并且由于已知它是唯一的,因此希望直接检索它。
我当前的方法如下:
Realm().objects(Book).filter("id == %@", prevBook.nextID).first
这似乎是徒劳的。先前版本的文档建议使用更直接的方法,但是我似乎无法在文档中找到它。
我目前的方法存在的问题是它崩溃了,但以下函数出现异常:
public func filter(predicateFormat: String, _ args: CVarArgType...) -> Results<T>
该异常神秘地报告为:
EXC_BAD_ACCESS(代码= 1,地址= 0xedf)
任何建议都非常欢迎。
预计将出现以下问题:我已经确认用已知的有效ID替换prevBook.nextID并不能解决问题
您正在寻找object(ofType:forPrimaryKey :)Realm().object(ofType: Book.self, forPrimaryKey: prevBook.nextId)
。没有比filter().first
您需要通过主键以外的其他对象搜索对象更简单的方法。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句