ios - Realm 模型的关系 - Swift

标签 ios swift realm

我有 2 个应该相互连接的 Realm 模型,但我很难理解在写入模型时如何做到这一点。

第一个模型将始终在第二个模型之前填充。该模型包含类(class)名称和与类(class)相关的一些数据:

class CourseModel: Object {

    dynamic var coursename = ""
    dynamic var par3field = 0
    dynamic var par4field = 0
    dynamic var par5field = 0
}

第二个模型有与类(class)相关的所有评分数据:

class ScoresModel: Object {

    dynamic var dateplayed = ""
}

我的问题是 - 我如何编写 ScoresModel 数据并将此数据链接到适当的 CourseModel 的类(class)名称及其相关数据?

bcamur 回答后的补充: bcamur,感谢您的反馈。这看起来像我需要的。但是,在将 ScoresModel 写入 Realm 时,我需要做什么才能让 Realm 知道将我刚刚写入的 ScoresModel 数据链接到哪个类(class)名称?

我目前正在编写这样的 2 个模型:

let mycourse = CourseModel()
        mycourse.coursename = courseName
        mycourse.par3field = par3s
        mycourse.par4field = par4s
        mycourse.par5field = par5s
        CoursesData.addNewCourse(my course)

let dataToSave = ScoresModel()
        dataToSave.dateplayed = dateTextField.text!
        ScoresData.saveNewScores(dataToSave)

提前谢谢你。

最佳答案

您可以将 ScoresModel 对象保存为 CourseModel 中的列表:

class CourseModel: Object {
    dynamic var coursename = ""
    dynamic var par3field = 0
    dynamic var par4field = 0
    dynamic var par5field = 0

    let scoreModels: List<ScoresModel> = List<ScoresModel>()
}

class ScoresModel: Object {
    dynamic var dateplayed = ""

    //include this if you want to be able to see which course has this ScoresModel in its scoresModels list
    var courseModel: CourseModel? {
        return linkingObjects(CourseModel.self, forProperty: "scoreModels").first
    }
}

关于ios - Realm 模型的关系 - Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36395813/

相关文章:

ios - 如何禁用 "gesture recognizer"(XMCircleGestureRecognizer)?

ios - 如何从 HealthKit 获取每日正念时间?

ios - “MBProgressHUD 需要在主线程上访问。” - swift 3

ios - cocoapods 不生成工作区

java - Realm 删除除一张表之外的所有表

javascript - 在 ipad 中打开时网站会缩放。点击某些按钮时也会放大更多

ios - 可选类型 'UIWindow?' 的值必须解包才能引用包装基类型 'viewWithTag' 的成员 'UIWindow'

iphone - 如何在我的 iOS 应用程序中正确实现服务类?

swift - 如何使用 Swift 更改 SpriteKit 中的全局 int?

android - 如何将 Realm 与 RxJava2 一起使用