如何使用struct - Swift保存用户数据

时间:2016-07-23 10:04:23

标签: swift

我有一个名为trip的结构:

struct trip {
    var name: String
    var description: String
    var elements: [elementType] = []
}

elementType是在协议中声明的类型。

然后我宣布了一个名为trips的数组:

var trips: [trip] = []

问题是我必须保存trips数组才能在关闭应用后显示项目。首先,我尝试使用NSUserDefaults,但它只能保存少量类型,Any(结构类型)不是其中之一。

如何保存和恢复此阵列?

1 个答案:

答案 0 :(得分:0)

您只能在NSData中保存NSStringNSNumberNSDateNSArrayNSDictionaryNSUserDefaults类型。

因此,您可以在struct中添加init方法,以便可以对正在创建的数据进行编码,然后将其存储在NSUserDefaults中。

按照这个问题的答案:How to save struct to NSUserDefaults in Swift 2.0