Add possible fixes for the ‘empty home view’ issue.

// FREEBIE
pull/1/head
Matthew Chen 8 years ago
parent 3f805cd4cd
commit f52814bb70

@ -415,29 +415,35 @@
- (void)setShouldObserveDBModifications:(BOOL)shouldObserveDBModifications - (void)setShouldObserveDBModifications:(BOOL)shouldObserveDBModifications
{ {
if (!_shouldObserveDBModifications && shouldObserveDBModifications && self.threadMappings != nil) { _shouldObserveDBModifications = shouldObserveDBModifications;
// Before we begin observing database modifications, make sure
// our mapping and table state is up-to-date. [self ensureObserveDBModifications];
// }
// We need to `beginLongLivedReadTransaction` before we update our
// mapping in order to jump to the most recent commit. - (void)ensureObserveDBModifications
[self.uiDatabaseConnection beginLongLivedReadTransaction]; {
[self.uiDatabaseConnection readWithBlock:^(YapDatabaseReadTransaction *transaction) { if (self.shouldObserveDBModifications) {
[self.threadMappings updateWithTransaction:transaction]; if (self.threadMappings != nil) {
}]; // Before we begin observing database modifications, make sure
// our mapping and table state is up-to-date.
//
// We need to `beginLongLivedReadTransaction` before we update our
// mapping in order to jump to the most recent commit.
[self.uiDatabaseConnection beginLongLivedReadTransaction];
[self.uiDatabaseConnection readWithBlock:^(YapDatabaseReadTransaction *transaction) {
[self.threadMappings updateWithTransaction:transaction];
}];
}
[[self tableView] reloadData]; [[self tableView] reloadData];
} }
_shouldObserveDBModifications = shouldObserveDBModifications; [[NSNotificationCenter defaultCenter] removeObserver:self name:YapDatabaseModifiedNotification object:nil];
if (self.shouldObserveDBModifications) {
if (shouldObserveDBModifications) {
[[NSNotificationCenter defaultCenter] addObserver:self [[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(yapDatabaseModified:) selector:@selector(yapDatabaseModified:)
name:YapDatabaseModifiedNotification name:YapDatabaseModifiedNotification
object:nil]; object:nil];
} else {
[[NSNotificationCenter defaultCenter] removeObserver:self name:YapDatabaseModifiedNotification object:nil];
} }
[self checkIfEmptyView]; [self checkIfEmptyView];

Loading…
Cancel
Save