【发布时间】:2018-02-22 10:12:08
【问题描述】:
我正在编写一个应用程序,其中有一个显示用户列表的仪表板。所以我创建了一个名为“用户”的实体。对于映射,我使用的是 Alamofire 对象映射器。
场景
在调用 API 之前,我正在检查网络是否可用。如果不是,我从核心数据中获取实体并显示保存的结果。如果是,我会调用 API 并从 API 获取对象并将其保存到我的上下文中。
问题
现在,当我从 API 获取对象时,我将响应保存在 NSManagedObjectContext 中,并将其附加到我的“用户”实体中已经存在的 NSManagedObjects。我想要的是,如果用户已经存在于实体中,我不不想再次将该用户对象保存在我的实体中。所以在第一次调用中,我在数据库中有 20 个对象,第二次调用后,计数增加到 40,依此类推。我不希望这样。我如何做到这一点?
【问题讨论】:
-
@TomHarrington 我似乎找不到确切的答案。这就是我在这里发布它的原因。请您在链接中提供我。
-
@TomHarrington 虽然我已经解决了这个问题,但我只是想知道这是否是最好的方法。
-
你是如何解决这个问题的?我也面临同样的问题。你能帮助我吗? @Reckoner
-
@DeepakrajMurugesan 是的,让我回答一下。如果您能够使用我的回答解决此问题,请投票。
-
假设您的用户模型在第一次 api 调用时有 20 个元素。以及如何确保在第二次 api 调用响应中元素相同意味着不更新,不同意味着更新或删除这样??? @Reckoner。这是解决上述问题的最佳方法吗?非常感谢您的快速回复。我会赞成它没有任何问题
标签: core-data alamofire objectmapper