我有2个领域模型:
let realm = try Realm()
let results = realm.objects(CourseModel)
return results
应用用户将首先添加一个我使用CourseModel的新课程。当用户播放课程时,他们输入该课程的分数,我使用ScoresModel,因此主键'coursename'。
我用
查询CourseModelResults<CourseModel> (
[0] CourseModel {
coursename = First Course;
par3field = 4;
par4field = 10;
par5field = 4;
scoreModels = RLMArray <0x797a36d0> (
[0] ScoresModel {
dateplayed = Apr 5, 2016; },
[1] ScoresModel {
dateplayed = Mar 3, 2016; }
);
},
[1] CourseModel {
coursename = Second Course;
par3field = 4;
par4field = 10;
par5field = 4;
scoreModels = RLMArray <0x7a046f40> (
[0] ScoresModel {
dateplayed = Apr 5, 2016; }
);
}
)
并产生以下结果
{{1}}
ScoresModel产生类似的结果但没有CourseModel数据。 ScoresModel里面有很多数据,我只是在这里显示'dateplayed'以保持简短。
我的问题是这个;当我从Realm中提取数据时,如何访问特定字段以处理该数据,即如何使用par5field数据进行计算,以及第二个问题如何获取scoreModels数据,例如'dateplayed'列出表格中的日期?
答案 0 :(得分:1)
当您对Realm执行查询时,结果将在text-align:center
对象中返回,该对象的行为与数组完全相同。因此,您需要遍历每个对象以访问每个对象所需的属性。
要回答您的第一个问题,要访问Results
属性(仅来自第一个对象):
par5field
对于第二个问题,let firstObject? = results.first
let par5field = firstObject.par5field
// Do calculations with it
只是一个标准数组对象,因此您可以像将标准scoreModels
对象一样将值插入到表视图中。
如果要列出所有Array
个对象,无论它们属于哪个ScoreModel
个对象,都可以执行Realm查询以直接获取它们。
CourseModel