【问题标题】:Cleanest way to save Int Array CoreData Swift 3保存 Int Array CoreData Swift 3 的最简洁方法
【发布时间】:2016-12-09 12:31:54
【问题描述】:

我确实有一个简单的Integer Array,我想将它保存/加载到CoreData

你有没有做这两种方法的最佳方法的例子?

谢谢!

【问题讨论】:

  • 我觉得有点不一样
  • 一个简单的整数?它代表什么?因为如果它具有“真实”含义,您可以为它创建一个实体,并使用一对多关系,否则,您还可以将 int 保存为数据(例如使用 JSON 表示、NSCoding)、String( componentsJoinedByString) 等
  • 它是一个整数数组,代表 QuestionsForm 中的“选择历史”,类似于 [2, 1, 0, 3, 2, 1, 4, 2, 3, 4...]
  • 最快,但不是最干净的方式:将 CoreData 的字段声明为 Transformable,将 [Int] 声明为 Custom Class(假设您将模型的代码生成设置为 Swift)将工作。 CoreData 将在屏幕外归档/取消归档数据。

标签: ios swift core-data swift3


【解决方案1】:

在您的实体中创建一个 binaryData 类型的属性。并使用

将您的数组转换为数据
    NSKeyedArchiver.archivedDataWithRootObject(AnyObject)

并使用数据转换数组

    NSKeyedUnarchiver.unarchiveObjectWithData(NSData)

通过这种方式,您可以将任何对象存储在核心数据中。

【讨论】:

  • 一直在寻找一种干净的方法来保存数组。这真的很好。谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-02-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多