【发布时间】:2015-02-26 23:13:57
【问题描述】:
我有两个名为 PreviousWorkout 和 ExerciseData 的核心数据实体。 PreviousWorkout 实体具有以下属性:date、workoutName 和 exercises。 exercises 应该是 ExerciseData 的数组。使用 Editor > Create NSManagedObject Subclass 创建类后,我对 ExerciseData 实体做了同样的事情。
我不确定这是否是使用 Core Data 存储数据的正确方法。我的目标是拥有一个PreviousWorkout,其中包含ExerciseData 以及date 和workoutName 的数组。
我在代码中创建它的方式是创建一个 managedbjectContext :
let managedObjectContext = (UIApplication.sharedApplication().delegate as AppDelegate).managedObjectContext
然后我创建一个 PreviousWorkout 数组:
let newItem = NSEntityDescription.insertNewObjectForEntityForName("PreviousWorkout", inManagedObjectContext: managedObjectContext!) as PreviousWorkout
我将我所有的东西(date 和 workoutName)添加到 newItem,然后我尝试使用以下命令创建一个 ExerciseData 数组:
var exerciseData = NSEntityDescription.insertNewObjectForEntityForName("ExerciseData", inManagedObjectContext: managedObjectContext!) as [ExerciseData]
程序此时崩溃。我意识到最后一行是非常错误的,但我不确定如何创建ExerciseData 的数组。创建数组后,我想附加到它,然后在将newItem.exercises 设置为等于ExerciseData 对象之前为其属性设置值。
这是创建包含数组的核心数据对象的正确方法吗?如何创建[ExerciseData]的数组?
提前致谢
【问题讨论】: