mirror of
https://github.com/wahyd4/Yep.git
synced 2026-08-10 05:16:22 +10:00
fix deleteConversation; use cascadeDeleteInRealm, cascadeDeleteInRealm
This commit is contained in:
+4
-12
@@ -218,13 +218,9 @@ class Group: Object {
|
||||
|
||||
// 级联删除关联的数据对象
|
||||
|
||||
func cascadeDelete() {
|
||||
func cascadeDeleteInRealm(realm: Realm) {
|
||||
|
||||
guard let realm = realm else {
|
||||
return
|
||||
}
|
||||
|
||||
withFeed?.cascadeDelete()
|
||||
withFeed?.cascadeDeleteInRealm(realm)
|
||||
|
||||
if let conversation = conversation {
|
||||
realm.delete(conversation)
|
||||
@@ -748,11 +744,7 @@ class Feed: Object {
|
||||
|
||||
// 级联删除关联的数据对象
|
||||
|
||||
func cascadeDelete() {
|
||||
|
||||
guard let realm = realm else {
|
||||
return
|
||||
}
|
||||
func cascadeDeleteInRealm(realm: Realm) {
|
||||
|
||||
attachments.forEach {
|
||||
realm.delete($0)
|
||||
@@ -1492,7 +1484,7 @@ func deleteConversation(conversation: Conversation, inRealm realm: Realm, needLe
|
||||
|
||||
if let feed = conversation.withGroup?.withFeed {
|
||||
|
||||
feed.cascadeDelete()
|
||||
feed.cascadeDeleteInRealm(realm)
|
||||
}
|
||||
|
||||
let groupID = group.groupID
|
||||
|
||||
@@ -538,7 +538,7 @@ func syncGroupsAndDoFurtherAction(furtherAction: () -> Void) {
|
||||
}
|
||||
|
||||
} else {
|
||||
group.cascadeDelete()
|
||||
group.cascadeDeleteInRealm(realm)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -2130,10 +2130,14 @@ class ConversationViewController: BaseViewController {
|
||||
return
|
||||
}
|
||||
|
||||
realm.beginWrite()
|
||||
|
||||
deleteConversation(conversation, inRealm: realm, afterLeaveGroup: {
|
||||
afterLeaveGroup?()
|
||||
})
|
||||
|
||||
let _ = try? realm.commitWrite()
|
||||
|
||||
NSNotificationCenter.defaultCenter().postNotificationName(YepConfig.Notification.changedConversation, object: nil)
|
||||
|
||||
self?.navigationController?.popViewControllerAnimated(true)
|
||||
|
||||
Reference in New Issue
Block a user