我正在开发一个需要显示一些徽标的应用。这些徽标只是8kb的PNG文件,我只是要处理它们中的一小部分(最多10-20个)。但是,这些是从Internet下载的,因为它们可能会更改。所以,我想要实现的是,让应用程序下载它们(完成),将它们存储到文件系统中,并且只有在它们发生变化时才会再次下载(可能是几个月)。
每个人似乎都使用核心数据,我认为这是为更大更复杂的东西而设计的,因为我的文件总是具有相同的名称,而且它们之间没有关系。
文件系统是否可行?任何好的教程?
答案 0 :(得分:1)
是的,文件系统可能是您的最佳选择。你说你已经实现了下载。你是怎么做到的?使用NSURLConnection
?如果是这样,那么在某些时候,你有一个NSData
对象。这有几个write
...方法可用于将数据保存到文件系统上的文件中。请务必保存文件in the right place,因为您的应用程序是沙箱,并且您无法在任何您喜欢的地方书写。
答案 1 :(得分:0)
Core Data带来的优势是效率。使用NSFetchedResultsController在tableview中显示您的徽标可以获得优化的对象加载和内存管理。它将自动加载可以在一个屏幕上显示的项目,并且当用户在表格中轻弹时,它将处理释放在屏幕外移动的项目。自己实现这不是一项简单的任务。
如果您想在没有Core Data的情况下构建和显示数据,您可能希望使用NSKeyValueCoder,这将允许您轻松编写对象的数组或字典(包括嵌套数组,字典和图像)。