表中的NSFetchedResultsController和scrollToBottom

时间:2016-05-12 19:06:54

标签: ios swift uitableview core-data

我将 NSFetchedResultsController UITableView 一起使用。我需要像iMessage那样进行聊天,从上到下依次排序消息。我需要滚动到我的 UITableView 底部以显示上一条消息

tableView.scrollToRowAtIndexPath(lastMessageIndexPath, atScrollPosition: UITableViewScrollPosition.None, animated: false)

但是当我滚动 UITableView 时,方法 tableView:cellForRowAtIndexPath:调用fetchedResultsController中的所有消息。我认为因为这个,并且有一个非常长的开放viewController

请帮我解决这个问题,并加速打开viewController

1 个答案:

答案 0 :(得分:1)

不要滚动,只需设置内容偏移而不动画。至少需要确定每个单元的高度,但不需要为每一行加载单元本身。

请注意,以这种方式显示的大多数应用都不会在历史记录中显示所有旧消息,它们只会有几页,如果向上滚动太远,他们需要去加载那些较旧的消息。这种方法限制并加载问题。