将 CoreData 中的 Array<NSValue> 保存为可转换属性

Posted

技术标签:

【中文标题】将 CoreData 中的 Array<NSValue> 保存为可转换属性【英文标题】:Saving Array<NSValue> in CoreData as Transformable Attribute 【发布时间】:2020-03-02 13:03:17 【问题描述】:

我有一个应用程序使用 CoreData 和一个具有 Transformable 属性的实体。 该属性是数组类型。

由于这些符合 NSCoding,因此我在保存此实体时从未遇到任何问题。

今天,我在保存这些我过去从未遇到过问题的实体时遇到了问题。

键“NS.objects”的值属于意外类“NSValue”

我不知道最近的更新是否破坏了这一点,但突然之间我无法使用 Array 类型的可转换属性保存我的实体。

不知道问题出在哪里。它已经工作了很长时间。

为什么我现在尝试访问具有 Array 类型的可转换属性的实体时会出错?

【问题讨论】:

【参考方案1】:

如果您只想保存一个对象数组(如 String),请将 Custom Class 设置为 [String]

您也可以将值设置为 [Data],然后通过解码获取对象。

【讨论】:

我确实将自定义类设置为 [NSValue] 并且仍然存在这个问题。

以上是关于将 CoreData 中的 Array<NSValue> 保存为可转换属性的主要内容,如果未能解决你的问题,请参考以下文章

更新 Coredata 属性而不重复

如何快速删除coredata数据库中的特定行数据

coredata (转)

将金额转换成大写表示

CoreData 总和性能

UIPickerView 和 CoreData 数组