【发布时间】:2016-06-03 10:20:31
【问题描述】:
当前格式
Optional(posterPrint.Frame(name: "RIBBA", productNumber: "303.016.24", productSize: (63.0, 93.0), pictureSize: (61.0, 91.0), pictureWithMatSize: (50.0, 70.0), frameColor: [UIDeviceRGBColorSpace 0.92549 0.92549 0.92549 1], matColor: [UIDeviceRGBColorSpace 0.92549 0.92549 0.92549 1]))
我想将此添加到array 并转换任何对象。我在这方面做了很多尝试以存储在NSkeyedArchiver 中。我在某处读到无法将元组存储在NSKeyedArchiever 中。任何人都可以帮助这个
提前致谢。
【问题讨论】:
-
不是数组的大小或
NSStringFromSize()分别是一个选项吗? -
你需要让你的类符合
NSCoding。当您这样做时,您将自己编码/解码元组(作为单独的值、作为字符串、作为本身符合NSCoding的自定义类型等)。 Archives and Serializations Programming Guide 中描述了如何使类符合NSCoding。 -
@Rob,我写了 NSCoding 类,我做了所有的事情,比如存储和检索。我想知道如何在这个中分开。或者我可以将整个部分添加到一个数组中并编码/解码你能建议这个吗
-
我不确定您所说的“在这个中分开”是什么意思。当我做一个类型的
NSCoding时,我也尝试使属性的类型符合。因此,对象对其属性进行编码,并且属性本身将符合并因此可以被编码。当你有一个数组时,如果对象符合,那么数组可以被归档。也许您可以向我们展示(a)您的财产声明,(b)您的encodeWithCoder实现; (c) 你的init?(coder:)实现。
标签: ios swift swift2 nskeyedarchiver