【发布时间】:2016-01-29 22:15:17
【问题描述】:
我有这种数组:
var vakken: [(String,[Int],[Int])]
但我不知道如何将其放入核心数据并将其拉回?
有没有人建议如何制作这个甚至一些代码?
提前致谢
【问题讨论】:
-
是的,但我没有得到答案,所以我会提出一个新问题并尝试更容易地解释它
我有这种数组:
var vakken: [(String,[Int],[Int])]
但我不知道如何将其放入核心数据并将其拉回?
有没有人建议如何制作这个甚至一些代码?
提前致谢
【问题讨论】:
您可以按如下方式设置数据模型(无序数组)。
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]
这甚至会提供有限的搜索功能,尽管效率不高。
【讨论】: