我有一个小的iPhone应用程序,存储一个对象列表.用户可以添加和删除对象,但此列表将保持相当小(大多数用户将有10-30个对象).NSUserDefaults
似乎更容易使用,但会sqlite3
更快?只有30个"记录"会有明显的区别吗?
NSUserDefaults用于用户首选项,通常是NSString或NSNumber等基本对象.Sqlite,序列化属性列表中的对象集合,或核心数据都是存储用户数据的有效选项,例如您创建的模型对象.
你不会看到速度差异,但仍然最好为你正在做的事情选择正确的机制.如果它只是首选项,那么使用NSUserDefaults,否则我会将您的对象序列化为plist.如果你是Cocoa的新手,我会首先避免使用Core Data甚至是sqlite,让自己有机会先学习基础知识.