如果对象中的id
属性的类型为Integer
,如何过滤查询以返回其id
包含查询一部分的所有对象。也就是说,整数对应的Realm contains
过滤器运算符是什么?
例如object1
有id:1234
。如果我查询123
,那么它应该返回object1
。接近整数的唯一可用过滤器是equalTo
,但要使其正常工作,我必须将1234
传递给查询。
答案 0 :(得分:1)
可能您需要添加将id
表示为String
的帮助者字段,并根据该字段查询contains()
。
答案 1 :(得分:1)
您需要将Integer
字段更改为String
,然后才能通过这种方式从Realm
进行过滤
realm.where(YourRealmModel.class).contains("id","123").findAll()
答案 2 :(得分:0)
您似乎正在尝试通过其主ID ID访问对象。您可以使用以下代码直接访问该对象,而无需查询。假设我们有一个DogClass:
class DogClass: Object {
@objc dynamic var id = NSUUID().uuidString
@objc dynamic var dog_name = ""
override static func primaryKey() -> String? {
return "id"
}
}
let realm = try! Realm()
let primaryKey = 123
guard let thisDog = realm.object(ofType: DogClass.self, forPrimaryKey: primaryKey) else { return }
print(thisDog.dog_name)