From 113cb254d9b9abaea643408de31f41c855f5607a Mon Sep 17 00:00:00 2001 From: Michael Kirk Date: Sat, 21 Apr 2018 15:22:40 -0400 Subject: [PATCH] fixup cache --- .../HomeView/HomeViewController.m | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/Signal/src/ViewControllers/HomeView/HomeViewController.m b/Signal/src/ViewControllers/HomeView/HomeViewController.m index 71ed8b6a4..519abfa88 100644 --- a/Signal/src/ViewControllers/HomeView/HomeViewController.m +++ b/Signal/src/ViewControllers/HomeView/HomeViewController.m @@ -156,14 +156,14 @@ typedef NS_ENUM(NSInteger, CellState) { kArchiveState, kInboxState }; _blockedPhoneNumberSet = [NSSet setWithArray:[_blockingManager blockedPhoneNumbers]]; - [self.tableView reloadData]; + [self reloadTableViewData]; } - (void)signalAccountsDidChange:(id)notification { OWSAssertIsOnMainThread(); - [self.tableView reloadData]; + [self reloadTableViewData]; } #pragma mark - View Life Cycle @@ -473,6 +473,13 @@ typedef NS_ENUM(NSInteger, CellState) { kArchiveState, kInboxState }; } } +- (void)reloadTableViewData +{ + // PERF: come up with a more nuanced cache clearing scheme + [self.threadModelCache removeAllObjects]; + [self.tableView reloadData]; +} + - (void)resetMappings { // If we're entering "active" mode (e.g. view is visible and app is in foreground), @@ -489,7 +496,8 @@ typedef NS_ENUM(NSInteger, CellState) { kArchiveState, kInboxState }; }]; } - [[self tableView] reloadData]; + [self reloadTableViewData]; + [self checkIfEmptyView]; [self updateInboxCountLabel]; @@ -926,7 +934,7 @@ typedef NS_ENUM(NSInteger, CellState) { kArchiveState, kInboxState }; [self resetMappings]; - [[self tableView] reloadData]; + [self reloadTableViewData]; [self checkIfEmptyView]; [self updateReminderViews]; }