0

我正在为 iOS 开发一个类似 Forthsquare 的应用程序。使用 Core Data 我正在为两种资源准备方案:地点和类别。每个地方都属于类别。每个类别都有 *image_url* 字段,其中包含指向图像(酒店、餐厅等)的链接,因此地图上显示的每个地点都使用其类别图像作为注释标记。

问题是选择什么方法以及如何组织这些资源之间的关系以缓存类别图像(通过 *image_url* 字段获取),因此它们可以被具有相同类别的所有地方重用而无需检索每次加载每个给定位置时的类别图像?

作为 iOS 和 Core Data 的新手,我想知道是否有任何好的做法可以完成此类任务。

谢谢。

4

1 回答 1

0

在类似情况下,我在我的应用程序中所做的是向类别添加一些属性(请注意,如果图像“小”,您可以将图像数据直接保存在核心数据中,或者将其保存在磁盘上,如果图像“大的”):

  • bool fetchingImage

  • NSInteger 类别ID

  • url(从中获取)

  • imageData 或 filePath

创建类别并分配 url 后,您可以获取图像(在后台)并将 fetchinImage 标志设置为 yes。或者您可以等到第一个对象请求图像,在这种情况下您返回 nil 但启动获取。

当图像最终到达并在此实体中设置它时,您会在主线程上发送通知,说明 categorID 现在有图像。任何监听它的人都可以请求该图像并使其可见。

于 2012-09-27T21:34:50.207 回答