Доступные перегрузки в xcode при использовании таблицы

func scroller() {
    let delay = 0.1 * Double(NSEC_PER_SEC)

    DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) {
        if self.chatMessages.count > 0 {
            let lastRowIndexPath = IndexPath(forRow: self.chatMessages.count - 1, inSection: 0)
            self.tblChat.scrollToRowAtIndexPath(lastRowIndexPath, atScrollPosition: UITableViewScrollPosition.Bottom, animated: true)
        }
    }
}

Я получаю сообщение об ошибке, в котором говорится, что метки аргумента '(forRow:, forSection:) не соответствуют никаким доступным перегрузкам, любая помощь?

1 ответ

В Swift 3 вам нужно:

let lastRowIndexPath = IndexPath(row: self.chatMessages.count - 1, section: 0)
self.tblChat.scrollToRow(at: lastRowIndexPath at: .bottom animated: true)

Похоже, вы пытаетесь использовать старые API Swift 2.

Посмотрите документацию для IndexPath а также UITableView, И попробуйте использовать автозаполнение XCode при вводе кода. Конечно, если вы копируете и вставляете старый код, это не поможет.

Другие вопросы по тегам