将集合转换为数组?
Converting Set to Array?
当通过关系从 CoreData 检索对象集合时,swift 给我一个 NSSet 而不是我预期的数组。
有什么方法可以将集合转换成数组吗?
代码:
var updateExercise : UserExercise?
destinationViewController?.userExerciseSets = self.updateExercise?.exercisesets as? [UserExerciseSet]
注意事项是
Cast from 'NSSet?' to unrelated type '[UserExerciseSet]' always fails
目标 VC 具有变量:var userExerciseSets : [UserExerciseSet]?
您应该这样定义您的 NSManagedObject 模型:
class UserExercise: NSManagedObject {
@NSManaged var exercises: Set<Exercise>!
}
然后当你需要一个数组时,你可以简单地使用带有集合的数组构造函数。
let exercises = Array(userExercise.exercises)
当通过关系从 CoreData 检索对象集合时,swift 给我一个 NSSet 而不是我预期的数组。
有什么方法可以将集合转换成数组吗?
代码:
var updateExercise : UserExercise?
destinationViewController?.userExerciseSets = self.updateExercise?.exercisesets as? [UserExerciseSet]
注意事项是
Cast from 'NSSet?' to unrelated type '[UserExerciseSet]' always fails
目标 VC 具有变量:var userExerciseSets : [UserExerciseSet]?
您应该这样定义您的 NSManagedObject 模型:
class UserExercise: NSManagedObject {
@NSManaged var exercises: Set<Exercise>!
}
然后当你需要一个数组时,你可以简单地使用带有集合的数组构造函数。
let exercises = Array(userExercise.exercises)