From c043cf5fedb79a103eccce33481bafcc6501e902 Mon Sep 17 00:00:00 2001 From: nixzhu Date: Fri, 4 Sep 2015 16:39:55 +0800 Subject: [PATCH] do not insert when newMessagesCount != messageIDs.count --- .../ConversationViewController.swift | 30 +++++++------------ 1 file changed, 11 insertions(+), 19 deletions(-) diff --git a/Yep/ViewControllers/Conversation/ConversationViewController.swift b/Yep/ViewControllers/Conversation/ConversationViewController.swift index b8d96036..1d8a14d0 100644 --- a/Yep/ViewControllers/Conversation/ConversationViewController.swift +++ b/Yep/ViewControllers/Conversation/ConversationViewController.swift @@ -1445,35 +1445,27 @@ class ConversationViewController: BaseViewController { var newMessagesCount = Int(messages.count - _lastTimeMessagesCount) + /* if let messageIDs = messageIDs { newMessagesCount = messageIDs.count } + */ let lastDisplayedMessagesRange = displayedMessagesRange displayedMessagesRange.length += newMessagesCount + // 异常:两种计数不相等,治标:reload,避免插入 + if let messageIDs = messageIDs { + if newMessagesCount != messageIDs.count { + reloadConversationCollectionView() + println("newMessagesCount != messageIDs.count") + return + } + } + if newMessagesCount > 0 { - /* - //var indexPaths = [NSIndexPath]() - // TODO: 下面插入逻辑的假设有问题,对方的新消息并不会一直排在最后一个 - for i in 0.. 0 { - let oldLastMessageIndexPath = NSIndexPath(forItem: lastDisplayedMessagesRange.length - 1, inSection: 0) - conversationCollectionView.reloadItemsAtIndexPaths([oldLastMessageIndexPath]) - } - */ - - // 我们来治本 - if let messageIDs = messageIDs { var indexPaths = [NSIndexPath]()