IOS Swift3 - 如何在CoreData中保存自定义对象数组?

时间:2017-09-12 15:18:13

标签: ios core-data swift3

首先,我有自定义对象数组,[XXX]。

在CoreData中,我将Banners设置为“Transformable”和“@NSManaged public var banners:NSObject?”

当我像这样保存时 - >>

    saveData.banners = [XXX] as NSObject

    DataController.shared.saveContext()

但这是错误 - >>

<NSManagedObjectContext: 0x6000001d95f0>
 2017-09-12 22:03:49.381 xxxx[6056:71337] *** NSForwarding: warning: object                  
 0x60000011f920 of class 'xxxx.Banners' does not implement methodSignatureForSelector: -- trouble ahead
 Unrecognized selector -[xxxx.Banners replacementObjectForKeyedArchiver:]

1 个答案:

答案 0 :(得分:0)

仅当数据符合NSCoding时,可转换属性才有效。核心数据无法将每个可能的数据对象神奇地转换为它可以存储的东西,您需要告诉它如何。如果您有一个符合NSCoding的对象数组,那么该数组将符合。