iphone - 将 RSS 提要导入 Core Data 时防止重复

标签 iphone objective-c cocoa core-data ios

尝试将 RSS 提要导入 Core Data。一旦它们被导入,当之后再次尝试更新提要时,我如何最有效地防止重复。现在,它在解析期间根据数据存储检查每个项目,这不是很有效。

我研究了 Apple 的热门歌曲样本。它使用最近最少使用的类别缓存。但是,当每个项目都不同时,缓 stub 本无济于事。

编辑: 澄清一下,我已经可以使用 guid 唯一地标识提要中的每个项目。问题是每次将数百个项目与数据库进行比较时的性能,其中大多数是重复的。

最佳答案

当您导入新行时,您可以对现有行运行查询以查看它是否已经就位。为此,您针对您的实体创建一个 NSFetchRequest,设置谓词以查找 guid 属性并将返回的最大行数设置为 1。

我建议在导入过程中保留此 NSFetchRequest,以便您可以在导入过程中重用它。如果 NSFetchRequest 返回一行,您可以更新该行。如果它没有返回一行,那么您可以插入一个新行。

正确完成后,您会发现性能超出可接受范围。

关于iphone - 将 RSS 提要导入 Core Data 时防止重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3185885/

相关文章:

ios - 如何在 UIAlertView 中容纳 8 个按钮

objective-c - 应用程序内的 Cocoa 32 位和 64 位二进制文​​件

swift - Swift 中抛出错误的函数或方法

macos - 在 MacOSX 10.5 上作为启动守护程序运行时, bundle 路径返回空

iphone - 在 Html 中嵌入图像并在 UIWebView 中加载

iphone - iOS 应用程序内的子目录

objective-c - 使用 AppleScript 获取 NSTextFieldCell 值

objective-c - 尝试在 NSUserDefault 中设置非属性列表对象时崩溃

ios - AdMob智能横幅仅出现在iPhone 8+上

html - 移动布局不呈现宽度 : 100%