Swift iOS如何在本地存储自定义类型对象?

时间:2016-07-15 06:27:58

标签: ios swift caching

我创建了一个struct数据类型。如下所示

struct MyType {
var a:String
var b:String
}

之后我从我的服务器获取JSON数据(使用Alamofire)并解析为对象(通过SwiftyJSON。现在,我想在本地存储我的解析对象。我已经尝试过Haneke库但它很复杂。你能教吗?我有办法做到这一点,非常感谢你。

3 个答案:

答案 0 :(得分:1)

对于这种操作,最好的方法是使用CoreData或Realm。在这种情况下,您可以创建自己的对象并将其保存在数据库中。在领域它需要你大约。 1分钟就可以了。它看起来像是:

 class MyType: Object {
    dynamic var a: String?
    dynamic var b: String?
}

然后例如在ViewController中,您可以保存此对象,并调用此代码:

let realm = try! Realm()
try! realm.write{
    realm.add(MyType)
}

就是这样。简单易行。

答案 1 :(得分:0)

- 如果您想要在杀死应用程序后保存信息:  然后将JSON字符串保存在NSUserDefaults中。无论什么时候需要它,只需从NSUserDefaults中取回它并将其转换为您的Model Class / Struct。

  • 如果您只想保存信息,直到应用程序处于活动状态: 创建自定义会话类,并将模型保存在那里。但在这种情况下,您必须在每次打开应用程序时设置模型。

有时我在AppDelegate类中设置数据。

答案 2 :(得分:0)

我认为您希望在本地存储结构化数据(对象)。将对象存档为原始数据并将其存储为文件以满足您的需求。查看有关如何序列化对象的offical guide