class - Swift:如何在核心数据中存储自定义对象数组?

标签 class core-data swift nsmanagedobject transformable

使用 SwiftCore Data,我想在自定义 User 中存储一组自定义 Game 对象> 数据库中的类。

GameOwned 变量是一个Transformable。我希望能够将 [Game] 存储在数据库中。

我怎样才能实现这一目标?除了将其转换为 [Game] 之外,我需要做什么特殊的事情才能在从数据库中提取它后读取它吗?

用户类别

class User: NSManagedObject {

    @NSManaged var gameOwned: AnyObject
}

游戏类

class Game: NSManagedObject {

    @NSManaged var coverPhoto: String
    @NSManaged var genre: String
    @NSManaged var id: String
    @NSManaged var isActive: NSNumber
    @NSManaged var isOwned: NSNumber
    @NSManaged var name: String
    @NSManaged var platform: String

}

最佳答案

您的游戏已经是一个核心数据对象。您需要设置UserGame之间的关系。它应该是一对多,你可以称之为游戏

关系是非常基本的核心数据概念。您可以在 Xcode 的 Core Data 模型编辑器中执行此操作。请先阅读 Core Data Programming Guide 中的内容。 .

完成此设置后,您可以非常简单地访问相关项目。

var aGame = user.games.anyObject as? Game

以上是可选的,因为可能没有游戏等。

关于class - Swift:如何在核心数据中存储自定义对象数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27329434/

相关文章:

python - 从原始文件外部的类导入函数

python - 实例没有属性_pi

ios - SKStoreReviewController.requestReview() 无法在新的 App 版本上评分

swift - 登录和注销身份验证按钮在主视图 Controller 上从 'Login' 更改为 'Logout',寻找最佳实践

c# - 在另一个类中使用一个类?

c# - 在 C# 上使用枚举

cocoa - 如何取消链接并删除 CoreData 中的相关对象

ios - 无法更新核心数据中的位置

core-data - Xcode 6.1 Mac OS X 命令行工具新项目

ios - 如何使用 Swift 将图像上传到 iOS 中的服务器?