问题描述
|
我已经实现了一个简单的RSS阅读器,它可以显示标题和日期,还可以显示每个条目的缩略图。
现在,我要实现缓存的方式是将最后十个条目保存在磁盘上(包括映像)。我对Core Data的经验很少,我想知道这是否是解决我的问题的最佳解决方案。
另外,我对MVC设计模式还比较陌生,我想知道设计这种系统的最佳方法是什么。现在我的应用程序有一个
RSSEntry
类,它存储title
,date
和thumbURL
并表示模型。名为“ 4”的类将解析提要,并告知其委托已完成解析,并提供了“ 0”实例的“ 5”。然后是视图控制器,一个简单的UITableViewController
,它在表格视图中显示所有这些内容,还使用RSSEntry
中的imageURL
开始异步下载。下载完成后,它要求表格视图重新加载相应的行,以便停止单元格的活动指示器并显示图像。
在这种情况下,实现缓存的最佳位置是什么?我想我需要将每个图像保存在documents目录中,然后存储文件的路径,但是我不确定什么是设计此图像的最佳方法。我想避免凌乱的代码,也许有一种已知的模式可以实现这种功能。
解决方法
昨天也有类似的问题。
无论如何,对于任何网络请求,我都会使用ASIHTTPRequest,而且它们具有缓存支持,因此您可以使用它透明地缓存图像。我可能会编写某种
DownloadManager
包装器,并从视图控制器中调用它,就像您正在使用RSSManager
,然后使用NSNotification
s使每个(可见)行根据需要进行自身更新。