ソースを参照

weak declarations in closures in ChatViewController

cyberta 5 年 前
コミット
1aa91c1a10
1 ファイル変更6 行追加3 行削除
  1. 6 3
      deltachat-ios/Controller/ChatViewController.swift

+ 6 - 3
deltachat-ios/Controller/ChatViewController.swift

@@ -322,7 +322,8 @@ class ChatViewController: MessagesViewController {
     @objc
     private func loadMoreMessages() {
         DispatchQueue.global(qos: .userInitiated).asyncAfter(deadline: .now() + 1) {
-            DispatchQueue.main.async {
+            DispatchQueue.main.async { [weak self] in
+                guard let self = self else { return }
                 self.messageList = self.getMessageIds(self.loadCount, from: self.messageList.count) + self.messageList
                 self.messagesCollectionView.reloadDataAndKeepOffset()
                 self.refreshControl.endRefreshing()
@@ -333,7 +334,8 @@ class ChatViewController: MessagesViewController {
     @objc
     private func refreshMessages() {
         DispatchQueue.global(qos: .userInitiated).asyncAfter(deadline: .now() + 1) {
-            DispatchQueue.main.async {
+            DispatchQueue.main.async { [weak self] in
+                guard let self = self else { return }
                 self.messageList = self.getMessageIds(self.messageList.count)
                 self.messagesCollectionView.reloadDataAndKeepOffset()
                 self.refreshControl.endRefreshing()
@@ -347,7 +349,8 @@ class ChatViewController: MessagesViewController {
 
     private func loadFirstMessages() {
         DispatchQueue.global(qos: .userInitiated).async {
-            DispatchQueue.main.async {
+            DispatchQueue.main.async { [weak self] in
+                guard let self = self else { return }
                 self.messageList = self.getMessageIds(self.loadCount)
                 self.messagesCollectionView.reloadData()
                 self.refreshControl.endRefreshing()