如何正确使用createOrUpdateInRealm?

时间:2015-12-14 16:01:07

标签: ios objective-c persistence realm

我正在使用Realm在我的应用中处理持久化数据到磁盘。我正在将一个ArticleCollection对象存储到Realm(这只包含一个NewsArticle对象数组)。

我使用createOrUpdateInDefaultRealmWithValue创建新的ArticleCollection或更新现有的ArticleCollection(使用ArticleCollection上的主键实现)。

当应用程序获取新文章时,这将很有效,它将覆盖当前文章集合并替换为ArticleCollection的新实例。

问题在于,当ArticleCollection被替换时(在Realm brwoser中,我可以看到ArticleCollection的计数总是如预期的那样),NewsArticles的数量总是增加。似乎ArticleCollection(NewsArticle)的子对象永远不会被替换/删除,只会附加到。

如何确保在使用createOrUpdateInRealm时,它会删除所有子对象?

1 个答案:

答案 0 :(得分:1)

确保您的NewsArticle对象上也使用主键。否则这些新闻文章将无法更新。这就是为什么你会看到越来越多的新闻文章。