在iOS应用中将少量数据保存到磁盘的最正确方法是什么?

时间:2014-07-22 04:49:44

标签: ios objective-c

在iOS 7中保留少量用户数据的最佳方法是什么?使用NSUserDefaults是一种破解吗? CoreData太重了吗?

我正在尝试存储用户认为有用的机场列表。机场由NSStrings标识,并且具有与之相关的少量数据。

我不反对创建核心数据应用程序,我想知道保留少量数据的最佳方法是什么。

4 个答案:

答案 0 :(得分:2)

NSUserDefaults持久存储在您的应用包中本地存储的.plist文件中,所以不是它不是黑客。 NSUserDefaults的唯一问题是存储自定义对象并不容易。受支持的数据类型包括NSDataNSStringNSNumberNSDateNSArrayNSDictionary。如果您需要存储自定义对象,Core Data是一个更好的选择,但如果您只有一个字符串数组和/或任何上述数据类型,那么NSUserDefaults是最好的方法。它有一个非常简单的API,易于管理。

注意:如果存储NSArrayNSDictionary,则任何子对象也必须属于上述支持的数据类型。

答案 1 :(得分:2)

1)您可以使用plist文件通过分配键值来保存数据,借助我们可以获得的键并保存值。[How to use pList in iOS Programming由@harry给出 2)或者您可以使用NSUserDefaults存储少量数据的值。{http://ios-blog.co.uk/tutorials/quick-tips/storing-data-with-nsuserdefaults/] 3)或者您可以使用sqlite3存储大量数据。[http://www.raywenderlich.com/913/sqlite-tutorial-for-ios-making-our-app] 4)或者您可以使用核心数据存储大量数据。 [Good tutorials or good for using Core.Data in IOS 7

我希望它能帮到你

答案 2 :(得分:1)

您可以使用plist文件来保存此类数据。您可以将一组机场写入plist文件。

以下是显示如何使用plist文件的链接: How to use pList in iOS Programming

感谢。

答案 3 :(得分:0)

这取决于您对数据的处理方式。 NSUserDefaults可以容纳比大多数人更多的数据,并且它非常易于使用。如果您没有存储大量数据或从数据库中获取数据,我会使用NSUserDefaults。