如何从Realm的Results实例中检索数据?

时间:2017-06-05 14:41:09

标签: ios swift realm

我刚开始学习Realm数据持久性,我是从iOS测试项目开始的。 领域对象声明如下:

class AchievementRecord: Object {

    dynamic var dateID:String = "1111-00-00"
    dynamic var date:String = "0000-00-00"
    dynamic var apple:Int = Int(0)

    override static func primaryKey() -> String? {
        return "dateID"
    }
} 

我在View Controller的viewDidLoad()方法中初始化对象,如下所示:

class AchievementRecord: Object {

dynamic var dateID:String = "1111-00-00"
dynamic var date:String = "0000-00-00"
dynamic var apple:Int = Int(0)

override static func primaryKey() -> String? {
    return "dateID"
}
}

然后我声明另一个函数来获取保存数据:

let appleOn_05 = defaultRealm.objects(AchievementRecord.self).filter("dateID = '05-06-2017'")
print(appleOn_05)

在控制台中,Xcode说:

enter image description here

因为我需要检索苹果的号码,在控制台中是22。如何检索苹果的数字以在屏幕上演示它,我该怎么办?提前谢谢。

1 个答案:

答案 0 :(得分:2)

结果在许多方面与原生Swift集合一样。如果您要获取单个对象,则可以使用Results.first let appleOn_05 = defaultRealm.objects(AchievementRecord.self).filter("dateID = '05-06-2017'").first

访问它

Object的子类与Swift中的任何其他本机类实例一样工作,因此您可以使用点语法访问其属性。 let apple = appleOn_05.apple

结合两者:

if let appleOn_05 = defaultRealm.objects(AchievementRecord.self).filter("dateID = '05-06-2017'").first {
    let apple = appleOn_05.apple
}