iOS 在本地存储数据

Posted

技术标签:

【中文标题】iOS 在本地存储数据【英文标题】:iOS Store Data Locally 【发布时间】:2016-01-13 13:21:19 【问题描述】:

我正在制作一个包含公司产品列表的应用。数据不需要用户修改。我怎样才能保存这些信息?下载应用时,数据必须已在本地存在。

【问题讨论】:

plist vs core data vs NSUserDefaults-***.com/a/7059445/1692651。另一个选项是 Realm - github.com/realm/realm-cocoa 在提出这个问题时几乎没有做任何研究。 【参考方案1】:

根据您的要求,Plist 或 SQLite 对您来说是不错的选择。

为什么选择 Plist

因为它是轻量级的。

为什么选择 SQLite

如果您想对您的数据执行查询。

【讨论】:

【参考方案2】:

您可以将数据保存在 sqlite 或 coredata 中。对于已经在数据库中填充数据,您可以使用“sqlite manager”并在 sqlite manager 中运行您的查询并将其保存在桌面(您想要的位置)上。创建填充数据库后,将其拖到您的项目中并做任何您想做的事情。您已经在这里填写了数据库。

【讨论】:

【参考方案3】:

您可以使用 NSUserdefaults 或 CoreData,此外还有一个名为 Realm 的第三方库。

还要检查这个问题: storing data locally on the iphone

编辑 答案由 Sr.Richie 在链接中提供:

对于简单数据,您应该使用 NSUserDefaults。 CoreData 非常酷,但主要用于存储数据库结构,并引入了复杂性(但我喜欢它:))。如果你只需要存储 String、Array 等(基本上是 prefs),你可以使用 NSUserDefaults:

例如:

NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];  //load NSUserDefaults
NSArray *fakeFavs = [[ NSArray alloc] initWithObjects:@"2",@"4", @"100", nil];  //declare array to be stored in NSUserDefaults
[prefs setObject:fakeFavs forKey:@"favourites"];  //set the prev Array for key value "favourites"

【讨论】:

以上是关于iOS 在本地存储数据的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Objective-C iOs 8 上将 ParseObject 存储在本地数据存储和 Parse Cloud 中?

指针数据未存储在本地数据库解析 ios

在 ios 框架项目中存储本地数据的最佳实践

在 iOS 中本地存储 Facebook 用户数据

iOS - 数据存储方式(本地化)

什么是在本地为 iOS/Android 存储大数据的最佳方式