Swift:如何在Core Data中存储自定义对象数组?

时间:2014-12-06 07:32:10

标签: class core-data swift nsmanagedobject transformable

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

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

}

1 个答案:

答案 0 :(得分:3)

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

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

中先阅读此内容

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

var aGame = user.games.anyObject as? Game

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