У меня проблемы с моим UITableViewCells. Я подключил свой UITableView к API для заполнения моих ячеек.Push segue от UITableViewCell до ViewController в Swift
Затем я создал функцию, которая захватывает indexPath.row
, чтобы определить, какой JSON-объект внутри массива должен быть отправлен на RestaurantViewController
.
Link to my Xcode Project for easier debugging and problem-solving
Вот как мой маленький фрагмент кода выглядит для настройки «строки щелчки» глобальной переменной.
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
i = indexPath.row
}
И вот моя prepareForSegue()
функция, которая должна подключить мой нажимной SEGUE к RestaurantViewController
.
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) {
if segue.identifier == "toRestaurant"{
let navigationController = segue.destinationViewController as UINavigationController
let vc = navigationController.topViewController as RestaurantViewController
vc.data = currentResponse[i] as NSArray
}
}
А вот как я настроил свой SEGUE от UITableViewCell
Вот мой результат, я попытался щелкнуть каждый из этих клеток, но не будет оттеснена другой viewController ... Я также не получаю сообщение об ошибке. Что здесь не так?
Пробовал решения, которые не будут работать
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) {
if segue.identifier == "toRestaurant"{
let vc = segue.destinationViewController as RestaurantViewController
//let vc = navigationController.topViewController as RestaurantViewController
vc.data = currentResponse[i] as NSArray
}
}
Ошибка не исходит от строки: пусть navigationController = segue.destinationViewController как UINavigationController? Я думаю, что destinationController не является навигационным контроллером, а сам uiviewcontroller. –
@ DánielNagy Я прокомментировал '' let vc = navigationController.topViewController как RestaurantViewController'' и отредактировал строку выше, чтобы иметь «RestaurantViewController». Скомпилированы и запущены, нет ошибок, просто нет ответа от нажатия на ячейки. – Jack
Я только что проверил, что push segue устарел, я не уверен, но что, если вы измените это на Show (например, Push)? –