Ошибка компиляции iOS Swift и reloadRowsAtIndexPaths

Я зашел в тупик с помощью xCode/Swift и обновил одну строку UITableView.

Эта строка работает....

self.tableView.reloadData();

тогда как эта строка не

self.tableView.reloadRowsAtIndexPaths([_currentIndexPath], withRowAnimation: UITableViewRowAnimation.None);

Автозаполнение предлагает reloadRowsAtIndexPaths и дает синтаксис, но при компиляции я получаю ошибку:

'Не удалось найти члена'reloadRowsAtIndexPaths'.

Если я нажму правой кнопкой мыши и jump to definition ' в self.tableview Символ не найден.

Я надеюсь, что я не делаю здесь ничего глупого и буду признательна за помощь. Я мог бы использовать reloadData но хочу знать, почему это не работает здесь.

1 ответ

Решение

Я верю, _currentIndexPath Необязательно. что-то вроде

var _currentIndexPath:NSIndexPath?

Так что постарайтесь:

if let indexPath = _currentIndexPath {
    self.tableView.reloadRowsAtIndexPaths([indexPath], withRowAnimation: UITableViewRowAnimation.None)
}
else {
    // `_currentIndexPath` is nil.
    // Error handling if needed.
}
Другие вопросы по тегам