Переход от ячейки и разбора объекта не работает - PullRequest
0 голосов
/ 03 июня 2018

У меня есть табличное представление, и при нажатии на кнопку я хочу переключить сцены и проанализировать объект с ним.

Мой код выглядит так:

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    let selectedPreset = presets[indexPath.row]

    let destinationVC = Display_ExercisePreset_ViewController()
    destinationVC.preset = selectedPreset

    destinationVC.performSegue(withIdentifier: "displayPreset", sender: self)
}

Я получаюошибка:

Завершение работы приложения из-за необработанного исключения «NSInvalidArgumentException», причина: «Receiver () не имеет перехода с идентификатором 'displayPreset' '

Это, очевидно, говорит о том, что у моего целевого ViewController нет перехода.Я думал, что должен перейти от моего начального VC к моему конечному VC и назвать его.Это то, что я сделал.[self.performSegue(withIdentifier: "displayPreset", sender: self)] тоже работает.

Ответы [ 2 ]

0 голосов
/ 04 июня 2018

Если кому-то все равно, вот код, который работал для меня:

var selectedPreset : ExercisePreset?; 

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {

    selectedPreset = presets[indexPath.row]

    performSegue(withIdentifier: "displayPreset", sender: self)
}

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if (segue.identifier == "displayPreset") {
        var nextScene = segue.destination as! Display_ExercisePreset_ViewController
        nextScene.preset = selectedPreset;
    }
}

Не очень красиво, потому что я использую глобальную переменную для выбранного пресета, но я мог бы найти лучшее решение, которое сработало

0 голосов
/ 03 июня 2018

1-

self.performSegue(withIdentifier: "displayPreset", sender: selectedPreset)

2-

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if segue.identifier == "displayPreset" , 
       let nextScene = segue.destination as! nextVC {
           nextScene.displayPreset = sender as! typeOfDisplayPreset
       }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...