Whatsapp Chatをシミュレートしようとしています。どのセルにも画像があります(バブルの末尾)。ちょうどバブルです。メッセージのテキストを表すラベル。印刷後に呼び出されるのtableViewは、私は、データが示されているものまで知りませんdointいくつかの時間を保持したらTableViewの最後の要素にスクロールすると時間がかかります
は私が
self.messagesTableView.reloadData()
前と呼び出し後にプリントを入れています。 indexpathにInsert行を挿入しても同じことが起こりますが、挿入アニメーションが表示されるまでに時間がかかります。
func displayMessages(viewModel: GroupChatMessages.GetChatMessages.ViewModel) {
let displayedMessage = viewModel.displayedMessages
print ("i'm here!")
messages = displayedMessage!
//self.messagesTableView.performSelectorOnMainThread(Selector("reloadData"), withObject: nil, waitUntilDone: true)
self.messagesTableView.reloadData()
print ("i'm here2!")
firstTime = false
self.setVisible(hiddenTableView: false, hiddenChatLoader: true)
self.scrollToLastMessage(false)
self.messagesLoaded = true
}
私はキューに派遣しないことを試み、そしてreloadData(前のコメント行)が、ナッシング作品と何もsignificative時間を表してきました。
多分、バブルのイメージになる可能性がありますか?知りません。この画像は資産に保存されているので、インターネットからダウンロードしていません。
self.setVisibleちょうどローダーを非表示にしてtableViewを表示するだけですが、私はあまりにもそれを移動してnothingsの変更を試みました。あなたに必要なその他の情報は私に知らせてください。ありがとう!
EDIT:
まあ、私はこの問題は、それが時間の大部分を取るところこれは、最後のセルまでスクロールから来ていることを見てきました。
func scrollToLastMessage(animated: Bool) {
let section = 0
let lastItemIndex = self.messagesTableView.numberOfRowsInSection(section) - 1
let indexPath:NSIndexPath = NSIndexPath.init(forItem: lastItemIndex, inSection: section)
self.messagesTableView.scrollToRowAtIndexPath(indexPath, atScrollPosition: .Bottom, animated: animated)
self.scrollDownButton.hidden = true
}
データがロードされると、最初に私が見てきたが、のtableViewの一番上の行ですが、私が見てみたいので、私はスクロールをしなければならないので、そのスクロールを最適化するために働かは、あります一番下のもの(最後)。ありがとう! reloadData()
よう
Mousavianは、そのためのおかげで、今私はinsertRowsを使用していreloadDataのinsted が、あなたはどのように知っているかどうかをチェックしたい場合、私は問題がスクロールから来ていることを検出しましたので、まだここでの問題は、私は私の質問を更新しましたそれを解決する。どうもありがとうございました。 – Eironeia
スクロールに問題があり続けると、同じ時間がかかりました。 – Eironeia
あなたの男はDispatchQueue.async' – Mousavian