【发布时间】:2010-11-05 09:18:12
【问题描述】:
我想访问网络服务以获取大量数据(例如产品列表/详细信息/搜索结果)并显示这些数据。
对于此类操作是否有任何最佳做法?
在性能方面,有没有比在每个请求上检索、解析和显示文本数据以及在后台加载图像更好的方法?是否有任何明智的缓存策略可以应用?
【问题讨论】:
我想访问网络服务以获取大量数据(例如产品列表/详细信息/搜索结果)并显示这些数据。
对于此类操作是否有任何最佳做法?
在性能方面,有没有比在每个请求上检索、解析和显示文本数据以及在后台加载图像更好的方法?是否有任何明智的缓存策略可以应用?
【问题讨论】:
如果我从头开始做这样的事情,我会这样做:
让网站以 XML 格式发布所有数据。除了可能的图片 - 只需有一个 XML 字段为每张图片指定一个 URL。因此,例如,假设我正在制作产品列表。
使用 NSXMLParser 获取和解析 XML 数据。
使用单独的 NSData dataWithContentsOfURL:调用以获取每个图像的内容,并使用来自 XML 数据的 URL
使用 CoreData 将 XML 数据(和 NSData 图像)写入数据库表。向表中添加索引时间戳字段。
您现在可以使用时间戳字段在数据库中保留最新的“x”记录 - 并且可以在需要时清除较旧的记录。
使用数据库表的内容来填充 UITableView - 或者你想要呈现的任何其他内容。
如果您需要显示的数据多于缓存的数据 - 或者您想要更新缓存中的数据。
【讨论】: