Swift中的核心数据自定义对象和实体

时间:2014-10-13 20:02:37

标签: core-data swift save loading relationships

我试图在预先回答的问题中找到答案,但我一直无法将它们放在一起,所以希望你能提供帮助。我正在编写一个处理两个自定义对象的应用程序,即锻炼课程和锻炼课程。我应该提到这是在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
}

}

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

1 个答案:

答案 0 :(得分:0)

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