我刚开始学习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说:
因为我需要检索苹果的号码,在控制台中是22。如何检索苹果的数字以在屏幕上演示它,我该怎么办?提前谢谢。
答案 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
}