我听说iOS开发人员从RESTful Web服务中检索项目并立即将它们存储为Core Data对象。我可以看到为什么这可能有用,如果你想保存或缓存这些项目,以便用户以后可以看到它们(例如Facebook feed),但有没有其他理由这样做?我的Web服务中的项目在一小时内无效,因此缓存是不可能的。如果这样做是个好习惯,为什么?
答案 0 :(得分:3)
对我来说,在本地存储数据有两个原因:
即使您的项目在一小时内无效,如果您不在本地缓存项目,您的应用程序也必须调用webservice来检索这些项目,这需要时间。
答案 1 :(得分:1)
缓存几乎从不会受到伤害,而CoreData是一种非常好的缓存数据的方式,它是一堆类似的记录。
我是你提到的那些使用CoreData存储几乎任何东西的开发者之一。因为我这样做,很多有用的代码和自制框架随着时间的推移总结起来,这使得使用CoreData和RESTful apis变得轻而易举。如果将api连接到CoreData只是几行代码的问题,那么没有任何理由不这样做。
虽然我无法共享我的库,但我强烈建议您查看RestKit,这几乎完全相同 - 将RESTful api映射到CoreData。如果您还没有习惯CoreData,请不要担心。它是一个非常强大的工具,习惯它绝对是值得的!