это просто, вы пытаетесь прокрутить до конца таблицы endUpdates, вы должны поместить
self.tableView.endUpdates()
до
self.tableView.scrollToRow(at: indexPath, at: .top, animated: true)
ваш код должен выглядеть как
private func generateMessages() {
let userReference = userReference(userID: AppDelegate.shared.user!.userID, fullName: AppDelegate.shared.user!.fullName, status: .buddy)
guard let stringText = textField.text else { return }
let message = AppDelegate.shared.userMessages[stringText]
let addMessage = "\(AppDelegate.shared.addMessage(stringText, to: self.conversation!, sender: userReference, type: .text, date: message?.date))"
self.tableObjects.append(addMessage)
self.tableView.beginUpdates()
let indexPath = IndexPath(row: self.tableObjects.count - 1, section: 0)
self.tableView.insertRows(at: [indexPath], with: .top)
self.tableView.endUpdates()
self.tableView.scrollToRow(at: indexPath, at: .top, animated: true)
textField.text = nil
}