ios - 将集合转换为数组?

标签 ios swift core-data nsset

当通过关系从 CoreData 检索对象集合时,swift 给我一个 NSSet 而不是我预期的数组。

有什么方法可以将集合转换成数组吗?

代码:

var updateExercise : UserExercise?

destinationViewController?.userExerciseSets = self.updateExercise?.exercisesets as? [UserExerciseSet]

注意事项是

Cast from 'NSSet?' to unrelated type '[UserExerciseSet]' always fails

目标 VC 有 var : var userExerciseSets : [UserExerciseSet]?

最佳答案

你应该这样定义你的 NSManagedObject 模型:

class UserExercise: NSManagedObject {
   @NSManaged var exercises: Set<Exercise>!
}

然后当你需要一个数组时,你可以简单地使用带有集合的数组构造函数。

let exercises = Array(userExercise.exercises)

关于ios - 将集合转换为数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42750390/

相关文章:

ios - 如何在 Xamarin 中创建可点击的 URL?

Swift 1.2 无法使用类型为 'count' 的参数列表调用 '(String)'

objective-c - 如何使用核心数据选择有条件的子对象?

iphone - 在开发过程中切换到使用 Core Data?

Swift 泛型与任何泛型

ios - 是否可以在没有 UITableView 的情况下从 Sqlite(和 CoreData)检索数据 - Swift 3

objective-c - 尝试关闭键盘时出现 "unrecognized selector"错误

ios - 通过 Cocoapods 添加到 Objective-C 应用程序中的 Swift 框架 - "Module not found"

ios - 在 iOS Swift 中设置按钮事件颜色的简单方法

swift - 调整 iPad2 图标图像大小 - swift