【问题标题】:Save custom class in Core Data in Swift在 Swift 的 Core Data 中保存自定义类
【发布时间】:2014-09-10 17:43:08
【问题描述】:

找了半天没找到能看懂的方法:(

我有一个自定义类:

public class Player {
private var name : String = "Test"
private var level : Int = 1
private var skill : Skill = Skill("Basic") //Skill is another class
}

我正在视图控制器中从此类创建一个对象:

var player = Player()

现在我不想保存这个玩家,所以我创建了一个名为 Saves 的实体和一个名为 playerSaved 的属性,并且具有可转换的类型。

当我将播放器保存到 playerSaved 时,出现“无法识别的选择器发送到实例”的崩溃。

感谢您的帮助 :) 希望完成这一切并完成我的应用程序!

【问题讨论】:

    标签: ios core-data swift


    【解决方案1】:

    您需要将自定义类转换为NSManagedObject

    import CoreData
    
    @objc(Player)
    class Player: NSManagedObject {
        @NSManaged var name: String
        @NSManaged var level: NSNumber
        @NSManaged var skill: Skill
    }
    

    这是在 Core Data 中保存“自定义”类的标准方法。

    【讨论】:

    • 技能将无法保存。因为它不是基本的 Obj-C 类型。如何解决这个问题?
    • NSManagedObject 继承自 NSObject,因此它“基本的 Objective-C 类型”。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多