У меня есть tableView, отображающий список ячеек. Мне нужно поймать выбранную ячейку и передать мои данные объекта на основе indexPath.row
, чтобы отобразить ее на моем втором контроллере просмотра. Мой didSelectRowAtIndexPath
работает нормально, но, вероятно, я не знаком с синтаксисом для performSegueWithIdentifier
, где он не может вызвать метод.didSelectRowAtIndexPath и performSegueWithIdentifier
Извините, что я новичок в программировании Swift, был бы признателен, если бы вы могли объяснить более подробную информацию.
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath){
selectedCell = indexPath.row
performSegueWithIdentifier("DetailScreen", sender: self)
}
override func performSegueWithIdentifier(identifier: String, sender: AnyObject?) {
detailedView.personName = personList[selectedCell].GetPersonName()
}
Привет, я последовал за то, что вы сказали, но я получил эту ошибку People_Project [1277: 71769] ***, истекающее приложение из-за неперехваченное исключение 'NSInvalidArgumentException', причина: «Receiver () не имеет значения с идентификатором 'DetailScreen' ' –
Просто для подтверждения, 'performSegueWithIdentifier (« DetailScreen », отправитель: nil)' находится на моем втором контроллере просмотра? Потому что оба находятся в разных классах. Который я думаю причину к проблеме. –
@JoeLeong См. Мой обновленный ответ, который отвечает на ваши вопросы – Shyju