【问题标题】:Swift: how to store array of custom objects in Core Data?Swift:如何在 Core Data 中存储自定义对象数组?
【发布时间】:2014-12-06 07:32:09
【问题描述】:

使用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

}

【问题讨论】:

  • 创建一对多关系作为选项
  • @NeilGaliaskarov 我在哪里创建这种关系?可以在界面生成器中使用吗?
  • @TheNomad 您能否发布有关您如何实现这一目标的分步解决方案。在我的最后,我有“Album”和“AlbumImages”两个实体。我想使用专辑实体访问一组专辑图像。你能告诉我步骤和我需要添加到类文件中的东西吗

标签: class core-data swift nsmanagedobject transformable


【解决方案1】:

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

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

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

var aGame = user.games.anyObject as? Game

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-09-18
    • 1970-01-01
    • 2013-12-30
    • 2023-03-12
    • 2019-07-28
    • 1970-01-01
    • 2021-11-13
    • 1970-01-01
    相关资源
    最近更新 更多