【问题标题】:Core Data Custom Objects and Entities in SwiftSwift 中的核心数据自定义对象和实体
【发布时间】:2014-10-13 20:02:36
【问题描述】:

我已尝试在预先回答的问题中找到此问题的答案,但我无法将所有这些问题放在一起,因此希望您能提供帮助。我正在编写一个处理两个自定义对象的应用程序,即锻炼类和锻炼类。我应该提到这是在 Swift 中。

class Workout : NSManagedObject {

@NSManaged var workoutList : [Exercise]

@NSManaged var title : String

}

class Exercise {

var reps = 0
var sets = 0
var description = ""
var title = ""

init(reps: Int, sets: Int, title: String ){
    self.reps = reps
    self.sets = sets
    self.title = title
}

}

我正在尝试找出使用核心数据在本地保存这些内容的最佳方法。理想情况下,我希望能够保存一个锻炼对象,该对象具有一个数组,其中引用了该锻炼中的所有特定练习。然后我希望能够随意加载该特定对象。我考虑过使用这两个类之间的关系,但老实说,我对它们的理解不够好,无法知道如何正确使用它们。看看这个,保存这些自定义类的最佳方法是什么,以便它们可以像我描述的那样工作?

【问题讨论】:

    标签: core-data swift save loading relationships


    【解决方案1】:

    在 Core Data 直接支持的基本数据类型(如字符串、整数、布尔值等)之外,您所有的自定义类都必须是 Core Data 实体。这意味着Exercise 类也必须是NSManagedObject 子类,并且workoutList 属性必须是WorkoutExercise 实体之间的关系(在Swift/ObjC 中由类表示)。

    【讨论】:

    • 我明白了,所以实体可以被认为是一个类。这更有意义。您是否建议我快速摆脱锻炼列表属性,而是在代码数据文件中添加两个实体之间的关系?或者在我已经完成的基础上添加关系?
    • 代码中的一对一关系也表示为属性。只是后备存储的行为不同。我建议一个关于核心数据实体和关系的好教程。
    猜你喜欢
    • 1970-01-01
    • 2011-07-24
    • 1970-01-01
    • 1970-01-01
    • 2016-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-21
    相关资源
    最近更新 更多