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

问题描述:

我已经创建了一个结构数据类型。像下面Swift iOS如何在本地存储自定义类型对象?

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

后,我从我的服务器获取JSON数据(使用Alamofire)和解析到对象(由SwiftyJSON。现在,我想我的存储对象解析本地。我已经试过哈尼克库,但它你可以教我任何方式去做,非常感谢你

+0

如果您对数据存储的要求不复杂,只需将数据转换为JSON并存储即可。 – childrenOurFuture

+0

对于简单的数据,可以将其保存在'nsuserdefault'中,但是如果记录列表更好地使用coredata或realm – xmhafiz

- 如果你想保存信息,即使你杀了应用程序: 然后将JSON字符串保存在NSUserDefaults中。它只需从NSUserDefaults中取回并将其转换为您的Model Class/Struct。

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

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

我想你想在本地存储结构化数据(对象)。将对象归档为原始数据并将其存储为文件即可满足您的需求。查看offical guide关于如何序列化对象。

对于这种操作,最好的方法是使用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) 
} 

仅此而已。简单而简单。

+0

我已经广泛地使用了Realm。 CoreData作为实现之前的领域对于Realm而言非常快速和容易,与CoreData相比。 – weePee