使用魔法记录插入核心数据时限制重复条目

时间:2017-01-30 07:38:49

标签: ios swift3 magicalrecord

我看到了一些与此主题相关的帖子,但在这种情况下,对我来说没什么好用的。我正在使用Magical Records来存储数据。数据在第一次保存正常,因为我来自服务器之后映射它。

  class func fnsConversationmapper(conversationJson: [JSON]) -> [Conversation] {

        var conversationArray = [Conversation]()
        for conversationDict in conversationJson {
            print(conversationDict)
//            let check = Conversation.mr_find(byAttribute: "id", withValue: conversationDict["id"].stringValue)
            let check = Conversation.mr_findFirst(byAttribute: "id", withValue: conversationDict["id"].stringValue)

            let conversationObj = Conversation.mr_createEntity()
            conversationObj?.name = conversationDict["name"].stringValue
            conversationObj?.id = conversationDict["id"].stringValue
            conversationObj?.image =  conversationDict["avatar"].stringValue
            conversationObj?.type = conversationDict["type"].stringValue
            conversationObj?.role = conversationDict["postedBy"]["role"]["name"].stringValue
            conversationObj?.postedOn = (conversationDict["postedOn"].stringValue).dateFromString() as NSDate?

            conversationArray.append(conversationObj!)
            if check == nil {
                NSManagedObjectContext.mr_default().mr_saveToPersistentStoreAndWait()
            }

            print("Saved data", Conversation.mr_findAll()!)

        }
         return conversationArray


}

我还有一个check来查看该记录是否已经存在于db中,但不知何故,当我再次从某些场景运行应用程序时(在某些屏幕中来回),条目在db中加倍。我不明白这是怎么回事。任何帮助将不胜感激。

感谢。

0 个答案:

没有答案