wil*_*lli 3 iphone cocoa core-data objective-c ios
尝试将RSS源导入Core Data.导入后,尝试再次更新Feed时,如何最有效地防止重复.现在它在解析期间针对数据存储区检查每个项目,这不是非常有效.
我查看了Apple的热门歌曲样本.它使用最近最少使用的缓存来进行分类.但是当每个项目都不同时,缓存根本没有帮助.
编辑:为了澄清,我已经可以使用guid在feed中唯一标识每个项目.问题是每次将数百个项目与数据库进行比较时的性能,当时大多数项目都是重复项目.
Mar*_*rra 12
导入新行时,可以对现有行运行查询,以查看它是否已存在.为此,您需要NSFetchRequest针对您的实体创建一个,设置谓词以查找guid属性并将返回的最大行数设置为1.
我建议NSFetchRequest您在导入期间保留它,以便在进行导入时可以重复使用它.如果NSFetchRequest返回一行,您可以更新该行.如果它没有返回一行,那么您可以插入一个新行.
如果操作正确,您会发现性能超出可接受范围.
| 归档时间: |
|
| 查看次数: |
2049 次 |
| 最近记录: |