Невозможно использовать moveRowAtIndexPath для tableView - PullRequest
0 голосов
/ 25 октября 2018

В настоящее время я отображаю простой массив объектов в своем пользовательском табличном представлении, я также использовал SwipyCell для проверки жестов смахивания.

Затем я пытаюсь изменить порядок объектов, используя moveRowAtIndexPath, но по какой-то причине он не работает со следующим кодом.

func tableView(tableView: UITableView, moveRowAtIndexPath sourceIndexPath: NSIndexPath, toIndexPath destinationIndexPath: NSIndexPath) {

    let itemThatMoved = self.tasks[sourceIndexPath.row]
    self.array.remove(at: sourceIndexPath.row)
    self.array.insert(itemThatMoved, at: destinationIndexPath.row)


     // Change data properties

}

func tableView(tableView: UITableView, canMoveRowAtIndexPath indexPath: NSIndexPath) -> Bool {
    // Return NO if you do not want the item to be re-orderable.
    return true
}

Я также установил следующее в моем ViewController

table.isUserInteractionEnabled = true
table.allowsSelectionDuringEditing = true
table.allowsSelection = true

У кого-нибудь есть какие-либо предложения, что я могу делать неправильно?

1 Ответ

0 голосов
/ 25 октября 2018

Если вы используете Swift 3+, подписи методов делегата неверны

func tableView(_ tableView: UITableView, canMoveRowAt indexPath: IndexPath) -> Bool

и

func tableView(_ tableView: UITableView, moveRowAt sourceIndexPath: IndexPath, to destinationIndexPath: IndexPath)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...