我正在制作一个健身应用程序来学习核心数据,我发现我需要让用户将每次执行的锻炼存储为一个 WorkoutLog 项目,并且在那里,应该有一系列代表该锻炼表现的锻炼日志(它包含每个升降机以及对实际锻炼设计的参考)。
问题是,过了一会儿我意识到我需要订购这些,这样下次我想向用户展示他们的锻炼时,锻炼的顺序应该是相同的。
所以我在那里检查了图像右上角的“ordered”,现在我的代码急需更新。我已经尝试尽可能多地阅读有关使用NSOrderedSet
以及如何从核心数据中获取它们然后操作它们的信息,但我并没有真正发现对我有多大用处。(我在objective-c方面没有经验)
例如我的代码曾经是:
static func deleteWorkoutLog(_ workoutLogToDelete: WorkoutLog) {
guard let exerciseLogsToDelete = workoutLogToDelete.loggedExercises as? Set<ExerciseLog> else {
print("error unwrapping logged exercises in deleteWorkoutLog")
return
}
我收到错误消息:.../DatabaseFacade.swift:84:77: Cast from 'NSOrderedSet?' 到不相关的类型 'Set' 总是失败
所以我学到的关于集合和核心数据的知识似乎不再适用。
我远非编程专家,但我非常渴望学习如何访问loggedExercises
实例。
TLDR;有没有办法将 NSOrderedSet 转换为我可以使用的东西?我们通常如何从核心数据中使用 NSManagedSets?我们将它们转换为数组还是 MutableSet?我非常感谢一两个关于如何开始检索和使用这些有序集的示例!
谢谢