我正在构建一个非常基本的聊天应用,用户可以来回发送消息。当用户发送消息时,我当前使用parse同步数据,然后调用updateMessages()
func updateMessages(){
let messageQuery = Message.query() messageQuery.whereKey("contThread", equalTo: >selectedThread.objectId!) messageQuery.findObjectsInBackgroundWithBlock { (objects, error) ->> Void in if error == nil { if let objects = objects as? [Message] { print(objects.count) print("FLAG") messages = objects self.messageTable.reloadData() print(messages.count) self.scrollToBottom() } } }
}
从解析中提取更新数据并重新填充消息表的函数。我希望tableView以编程方式在重新填充消息表后滚动到底部,并且无法理解为什么调用scrollToBottom()
func scrollToBottom(){
if messageTable.cellForRowAtIndexPath(NSIndexPath(forRow: 0, inSection: 0)) != nil { messageTable.scrollToRowAtIndexPath(NSIndexPath(forRow: messages.count-1 , inSection: 0), atScrollPosition: .Bottom, animated: >false) }
}
在我的updateMessages()函数结束时不起作用。任何/所有建议表示赞赏!谢谢!