summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Vitaly Takmazov2019-03-26 10:27:45 +0300
committerGravatar Vitaly Takmazov2019-03-26 10:27:45 +0300
commit38f90aa20adfa5fc346dda3cc151fa68bf2f6a5d (patch)
tree426423f236c069cc6878f0543cb857ec7efef829
parent4efd5ac3d91c5880c5acab78d01a003ad6bbcd86 (diff)
Fix crashes
-rw-r--r--Juick/ViewControllers/ChatViewController.m5
-rw-r--r--Juick/ViewControllers/MessagesViewController.m9
2 files changed, 10 insertions, 4 deletions
diff --git a/Juick/ViewControllers/ChatViewController.m b/Juick/ViewControllers/ChatViewController.m
index a76cc00..0de3d2a 100644
--- a/Juick/ViewControllers/ChatViewController.m
+++ b/Juick/ViewControllers/ChatViewController.m
@@ -47,7 +47,10 @@
[self.tableView beginUpdates];
[self.tableView insertRowsAtIndexPaths:indexPaths withRowAnimation:YES];
[self.tableView endUpdates];
- [self.tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:[self.messages count]-1 inSection:0] atScrollPosition:UITableViewScrollPositionBottom animated:NO];
+ NSInteger messagesCount = [self.messages count];
+ if (messagesCount > 0) {
+ [self.tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:[self.messages count]-1 inSection:0] atScrollPosition:UITableViewScrollPositionBottom animated:NO];
+ }
}
[self.refreshControl endRefreshing];
}];
diff --git a/Juick/ViewControllers/MessagesViewController.m b/Juick/ViewControllers/MessagesViewController.m
index 5d47d01..f2a20a9 100644
--- a/Juick/ViewControllers/MessagesViewController.m
+++ b/Juick/ViewControllers/MessagesViewController.m
@@ -70,9 +70,12 @@ NSString* const messageCellIdentifier = @"messageCell";
[self.tableView endUpdates];
[self.refreshControl endRefreshing];
if (self.shouldScrollToUnreadOnRefresh) {
- NSInteger itemToScroll = [self.firstUnread integerValue] ? : self.messages.count - 1;
- NSIndexPath *lastRow = [NSIndexPath indexPathForRow:itemToScroll inSection:0];
- [self.tableView scrollToRowAtIndexPath:lastRow atScrollPosition:UITableViewScrollPositionBottom animated:NO];
+ NSInteger messagesCount = [self.messages count];
+ if (messagesCount > 0) {
+ NSInteger itemToScroll = [self.firstUnread integerValue] ? : self.messages.count - 1;
+ NSIndexPath *lastRow = [NSIndexPath indexPathForRow:MIN(itemToScroll, messagesCount) inSection:0];
+ [self.tableView scrollToRowAtIndexPath:lastRow atScrollPosition:UITableViewScrollPositionBottom animated:NO];
+ }
self.firstUnread = nil;
}
}];