【发布时间】:2011-02-14 07:02:53
【问题描述】:
这对于存储缓存数据更有效。我看到 Twitter for Mac 将信息块存储在 sqlite 文件中。部分应用实现了 NSCoding 协议。
一个比另一个有什么优势吗?
【问题讨论】:
标签: iphone objective-c ios4
这对于存储缓存数据更有效。我看到 Twitter for Mac 将信息块存储在 sqlite 文件中。部分应用实现了 NSCoding 协议。
一个比另一个有什么优势吗?
【问题讨论】:
标签: iphone objective-c ios4
两者完全不同。 SQLite 是一个关系数据库,NSCoding 周围的东西是一种对象序列化技术。选择取决于您的缓存数据。如果你的缓存是一堆对象,我当然会选择NSCoding,因为它使用起来非常简单,比原始 SQLite 简单得多。如果您在磁盘缓存中有数千个对象并且不想一次加载所有对象,那么您可能更适合 SQLite。
【讨论】:
与其处理 SQL 复杂性,不如尝试使用 CoreData 之类的东西,它可以很容易地存储对象图。
如果您需要存储二进制数据,CoreData 也可以这样做,但您在指定数据模型时应考虑数据大小。
查看 Marcus Zarra 关于此主题的演讲:
您可能会发现 Aaron Hillegass 的其他有趣信息:
【讨论】: