From 781c5353273f20f56f72e237674b955dbc4d625b Mon Sep 17 00:00:00 2001 From: Michael Kirk Date: Wed, 22 Aug 2018 11:17:56 -0600 Subject: [PATCH] weak capture self --- .../ConversationSearchViewController.swift | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/Signal/src/ViewControllers/HomeView/ConversationSearchViewController.swift b/Signal/src/ViewControllers/HomeView/ConversationSearchViewController.swift index 5628548cb..759f1fd50 100644 --- a/Signal/src/ViewControllers/HomeView/ConversationSearchViewController.swift +++ b/Signal/src/ViewControllers/HomeView/ConversationSearchViewController.swift @@ -377,17 +377,21 @@ class ConversationSearchViewController: UITableViewController { } var searchResults: SearchResultSet? - self.uiDatabaseConnection.asyncRead({ transaction in - searchResults = self.searcher.results(searchText: searchText, transaction: transaction, contactsManager: self.contactsManager) + self.uiDatabaseConnection.asyncRead({[weak self] transaction in + guard let strongSelf = self else { return } + searchResults = strongSelf.searcher.results(searchText: searchText, transaction: transaction, contactsManager: strongSelf.contactsManager) }, - completionBlock: { + completionBlock: { [weak self] in + SwiftAssertIsOnMainThread(#function) + guard let strongSelf = self else { return } + guard let results = searchResults else { - owsFail("\(self.logTag) in \(#function) searchResults was unexpectedly nil") + owsFail("\(strongSelf.logTag) in \(#function) searchResults was unexpectedly nil") return } - self.searchResultSet = results - self.tableView.reloadData() + strongSelf.searchResultSet = results + strongSelf.tableView.reloadData() }) }