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

如何使用struct-Swift保存用户数据,swift,Swift,我有一个名为trip的结构: struct trip { var name: String var description: String var elements: [elementType] = [] } elementType是协议中声明的类型 然后我声明了一个名为trips的数组: var trips: [trip] = [] 问题是我必须保存tripsarray才能在关闭应用程序后显示项目。首先,我尝试使用NSUserDefaults,但它只能保存少数类型,

我有一个名为
trip
的结构:

struct trip {
    var name: String
    var description: String
    var elements: [elementType] = []
}
elementType
是协议中声明的类型

然后我声明了一个名为
trips
的数组:

var trips: [trip] = []
问题是我必须保存
trips
array才能在关闭应用程序后显示项目。首先,我尝试使用NSUserDefaults,但它只能保存少数类型,而且
Any
(结构类型)不是其中之一


如何保存和还原此数组?

您只能保存
NSData
NSString
NSNumber
NSDate
NSArray
NSDictionary
中的类型

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


按照此问题的答案进行操作:

您只能在
nsserdefaults
中保存
NSData
NSString
NSNumber
NSDate
NSArray
NSDictionary
类型

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

请按照此问题的答案进行操作: