我计划构建一个主要内容是图像的应用程序。基本上,它将有多个使用 的菜单UITableViews
,其单元格将只有一个图像。当您单击单元格时,您将被推送到一个包含该图像的简单视图和另一个包含其余详细内容的视图。
这一切都很容易做到,我的问题是关于优化的。它会有很多内容(可能有 1k 行)并且会在UITableView
.
我的问题是:最好将图像存储在Core Data
数据库中(as NSData
)还是只存储图像的名称?我想象的是,如果我存储资源的名称,对于UITableView
设备中的每一行都必须去获取该图像,处理它最终显示它。当滚动浏览它们时(预计会发生很多),我们会有很多获取图像。如果我将它们存储在 中Core Data
,那么就像获取该信息并使用它一样简单,就好像它在图像中一样。
将图像存储在其中的好处是Core Data
在数据库中存储 blob 的正常撤回。我不知道这在 Core Data 中会有多大的问题(我在 dbs 方面的经验主要来自 MySQL)
另一方面,强硬的我的“常识”要求只保存名称并在需要时获取图像,如果要求更多,则需要更多时间,我不确定这会对性能造成多大影响是。有没有“最好的方法”来存储它们?只是名称,然后调用pathForResourse:ofType:
或(如果它更快)pathForResourse:ofType:inDirectory:
,mainBundle
存储 URI,或其他形式的指向它。
编辑:应用程序将具有随应用程序提供的静态内容,用户将无法以任何方式修改此内容。(至少在 1.0 版中)