我正在开发一款允许用户浏览产品目录的iPhone应用程序。该目录可能包含1000多个项目。每个产品都与品牌相关,并具有一些属性,如颜色,大小等。
我想要预先填充一个SQLlite数据库并将其包含在我的应用程序包中,然后就像CoreDataBooks example一样,在第一次启动时我会使用NSPersistentStoreCoordinator
检查是否数据库已创建,如果没有将默认数据库复制到所需位置并继续。
但产品目录需要更新,并且由于数据库将保存用户添加的其他信息 - 例如将产品添加到收藏夹等,我不想在初始化后覆盖数据库(来自默认)。
所以我在考虑使用网络,调用网络服务,但这不会对网络造成沉重负担吗?浏览产品应该很快,我担心依赖网络服务会让事情变得无法接受?
答案 0 :(得分:1)
如果您想更新数据库,没有其他方法可供您使用,而是从网上下载。但是,当用户浏览目录时,您不需要通过下载来减慢速度 - 相反,您只需检查每次用户启动应用程序时服务器上是否有新内容,或者某个其他周期时刻 - 以及用户开始browsinh,你的商店已经是最新的。就是这样!
以下是Marcus Zarra撰写的一篇关于使用Core Data在后台获取数据的精彩文章
http://www.cimgf.com/2011/05/04/core-data-and-threads-without-the-headache/