核心数据复杂阵列

时间:2016-01-29 22:15:18

标签: swift core-data

我有这种阵列:

Product product = globalVariables.getGlobalProductArrayList().get(position);
adapter.remove(product);

但我不知道如何把它放在核心数据中并将其拉回来?

有没有人建议如何制作这个甚至是一些代码?

提前致谢

1 个答案:

答案 0 :(得分:1)

您可以按如下方式设置数据模型(无序数组)。

MainEntity
   (stringAttribute) String
   (quantityAttribute) <------------->> IntEntity
                                           (intAttribute) Int
   (quantity2Attribute) <------------>> IntEntity2
                                           (intAttribute) Int

如果两个int数组相当相似,则可以简化

MainEntity
   (stringAttribute) String
   (quantityAttribute) <------------->> QuatityEntity
                                           (intAttribute) Int
                                           (type) Int
                                           (order) Int // optional

一个不太灵活的黑客就是使用NSKeyedArchiver对数组进行编码,但这非常昂贵。

也许最简单的黑客是拥有一个具有三个String属性的实体,您可以将数组转换为字符串。例如

let arrayToBeSaved = [1,2,3]
object.firstArray = arrayToBeSaved.map { "\($0)" }.joinWithSeparator(",")
// stores "1,2,3"

// retrieve
let storedArray = object.firstArray.characters.split{ $0 == "," }.map{ Int(String($0))! }
// retrieves [1,2,3]

这甚至可以提供有限的搜索功能,但效率不高。