我在我的应用程序中实现了一个 IM 消息传递模块,但是在将消息保留为历史记录方面存在问题。在我的模型中,我使用服务推送所有消息,新消息使用套接字。
我认为在设备上保存消息历史记录是节省服务带宽的更好方法。我正在考虑使用 NSUserDefaults
来保存数据,但我真的不知道性能问题。有没有更好的方法来在设备中保留大量行?
最佳答案
如果数据量较小,则使用 NSUserDefaults。
但是如果数据量大的话就用CoreData或者Sqlite。它安全可靠。
Apple 在性能方面让 CoreDate 变得更好。
Sqlite3 对于保存大型数据库和访问数据库元素更有用。您可以对 sqlite3 数据库的项目进行排序,您可以非常快速地搜索 Sqlite3 数据库中的项目。
您不会看到速度差异,但最好还是为您正在做的事情选择正确的机制。如果它只是首选项然后使用 NSUserDefaults,否则我会将您的对象序列化到 plist。如果您是 Cocoa 的新手,我会首先避免使用 Core Data 甚至 sqlite,让您自己有机会先学习基础知识。
关于ios - 在 iOS 设备中保留批处理消息历史记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18254579/