net*_*000 2 realm swift alamofire objectmapper
我使用Alamofire,ObjectMapper和Realm并保存我在领域中获取和映射的对象.是否可以自动删除孤立对象?
例如,我获取联系人列表.现在已从响应中删除了一个联系人,应自动从Realm中删除.这是objectmapper可以做的吗?
我不知道使用Realm或ObjectMapper"自动"执行此操作的方法,但您实际上可以通过对Realm数据执行Set.Subtract()操作来删除孤立对象.但是,这也意味着您必须符合HashableRealm类的协议.
实施后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)
}
}
Run Code Online (Sandbox Code Playgroud)
您可以在此处查看所有令人敬畏的Set操作:执行Set Operations.
| 归档时间: |
|
| 查看次数: |
507 次 |
| 最近记录: |