【问题标题】:Core data complicated array [duplicate]核心数据复杂数组[重复]
【发布时间】:2016-01-29 22:15:17
【问题描述】:

我有这种数组:

var vakken: [(String,[Int],[Int])]

但我不知道如何将其放入核心数据并将其拉回?

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

提前致谢

【问题讨论】:

  • 是的,但我没有得到答案,所以我会提出一个新问题并尝试更容易地解释它

标签: swift core-data


【解决方案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]

这甚至会提供有限的搜索功能,尽管效率不高。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-03-24
    • 1970-01-01
    • 2013-10-21
    • 2012-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多