领域查询变量和结果

时间:2016-07-26 13:03:03

标签: ios swift swift2 realm

使用以下代码我正在尝试搜索我的领域数据库,如果id eventId1位于数据库realmeventID中的某个位置,并且是否要打印为true 。但即使我知道的陈述是真的,我也没有结果!

override func viewDidLoad() {
    super.viewDidLoad()
    let realm = try! Realm()
    var tanDogs = realm.objects(eventsNewSaved2.self)
    let predicate = NSPredicate(format: "realmeventID == %@", eventId1)

    if predicate == true {
        print("true")
    }
}

我错过了重要的事情吗?

1 个答案:

答案 0 :(得分:1)

要使用NSPredicate进行查询,您可以执行以下操作:

let predicate = NSPredicate(format: "realmeventID == %@", eventId1)
let results = realm.objects(eventsNewSaved2.self).filter(predicate)

这也可以更容易地写成如下。

let results = realm.objects(eventsNewSaved2.self).filter("realmeventID == %@", eventId1)

结果是否存在,您可以通过以下方式查看。

if !results.isEmpty {
    // The results is not empty
}

,或者

if let event = results.first {
    // The results is not empty because there is a first element
}

那么,您希望使用以下代码吗?

let realm = try! Realm()
let results = realm.objects(ToDoList.self).filter("realmeventID == %@", eventId1)

if !results.isEmpty {
    print("true")
}