Swift Alamofire,ObjectMapper,领域:删除孤立对象

Swift Alamofire,ObjectMapper,领域:删除孤立对象,swift,realm,alamofire,objectmapper,Swift,Realm,Alamofire,Objectmapper,我使用Alamofire、ObjectMapper和Realm,并将获取和映射的对象保存在Realm中。 是否可以自动删除孤立对象 e、 我去拿联系人名单。现在,一个联系人已从响应中删除,并应自动从域中删除。objectmapper可以做到这一点吗?我不知道用Realm或objectmapper“自动”实现这一点的方法,但实际上,您可以通过对领域数据执行Set.Subtract()操作来删除孤立对象。但是,这也意味着您必须遵守Realm类上的Hashable协议 一旦实现了Hashable,您就

我使用Alamofire、ObjectMapper和Realm,并将获取和映射的对象保存在Realm中。 是否可以自动删除孤立对象


e、 我去拿联系人名单。现在,一个联系人已从响应中删除,并应自动从域中删除。objectmapper可以做到这一点吗?

我不知道用Realm或objectmapper“自动”实现这一点的方法,但实际上,您可以通过对领域数据执行Set.Subtract()操作来删除孤立对象。但是,这也意味着您必须遵守Realm类上的
Hashable
协议

一旦实现了Hashable,您就可以执行如下操作:

var contacts = try! Realm().objects(Contacts)

let realmSet = Set<Contacts>(self.contacts)
let incomingSet = Set<Contacts>(incomingContacts)
let contactsToDeleteSet = realmSet.subtract(incomingSet)
for contact in contactsToDeleteSet {
    try! realm.write {
        realm.delete(contact)
    }
}
var contacts=试试看!Realm().对象(联系人)
让realmSet=Set(self.contacts)
让输入设置=设置(输入触点)
让contactsToDeleteSet=realmSet.subtract(incomingSet)
对于contactsToDeleteSet中的联系人{
试试看!写吧{
realm.delete(联系人)
}
}
您可以在此处查看所有很棒的集合操作: