Как уникально идентифицировать каждую ячейку в UITableView - PullRequest
0 голосов
/ 27 сентября 2018

У меня есть UITableView, и я пытаюсь перейти к другому viewcontroller, мне нужен номер строки, чтобы я мог выбрать строку из массива, чтобы я мог отобразить эту строку в следующем контроллере представления, У меня есть этот код на данный момент.

let tableFrontView = segue.destination as! FCTableFrontViewController
tableFrontView.frontText = path[FlashCardsTableViewCell.init().tag].flashCardFront

FlashCardsTableViewCell.init().tag в настоящее время возвращает int для тестирования, хотя я хочу знать, чем я могу заменить его, чтобы получить номер строкикоторый был выбран пользователем.Спасибо

Ответы [ 3 ]

0 голосов
/ 27 сентября 2018

Вы можете попробовать вот так:

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    let tableFrontView = segue.destination as! FCTableFrontViewController
    let selectedIndexPath = tblView.indexPathForSelectedRow
    let selectedRow = (selectedIndexPath?.row)!
    print(selectedRow)
}
0 голосов
/ 27 сентября 2018

Я предполагаю, что вы пишете фрагмент кода, показанный в prepare(for:)?

Если это так, перейдите к месту выполнения перехода, что, вероятно, в методе делегата didSelectedRowAtIndexPath.Если у вас нет такого метода, вы должны реализовать его.

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    performSegue(withIdentifier: "showTableFrontVC", sender: nil)
}

Замените все, что вы сейчас передаете как sender, и замените его на indexPath.row.

performSegue(withIdentifier: "showTableFrontVC", sender: indexPath.row)

Теперь в prepare(for:) вы можете развернуть отправителя как Int:

let tableFrontView = segue.destination as! FCTableFrontViewController
let rowSelected = sender as! Int
tableFrontView.frontText = path[rowSelected].flashCardFront
0 голосов
/ 27 сентября 2018

Используйте метод делегата TableView:

 func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
 // indetify cell using indexPath.row attribute
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...