У меня есть UITableView, который я настроил для перехода на другой VC, когда пользователь выбирает строку (таблица состоит только из одного массива). Я хочу передать индекс строки выбранного элемента. Я использую didSelectRowAtIndexPath
, чтобы установить переменную с именем selectedCellIndex
в индекс строки. Однако, поскольку у меня также есть таблицаView, настроенная для перехода к следующему VC prepareForSegue
, срабатывает (или примерно в то же время) как didSelectRowAtIndexPath
. В результате при первом выборе элемента из списка отправленное значение равно nil, после этого я всегда получаю предыдущее значение выбранной строки. Любые идеи о том, как убедиться, что переменная установлена до перехода приложения на следующий сеанс без паузы?Устанавливается переменная до перехода segue происходит
Вот мой код:
var selectedCellIndex:Int!
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath){
var indexPath = tableView.indexPathForSelectedRow() as NSIndexPath?
selectedCellIndex = indexPath?.row as Int?
}
//SEGUE
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "signature" {
let vc = segue.destinationViewController as SignatureViewController
vc.index = "\(selectedCellIndex)"
}
}
Благодаря
Yeap, вы правы. Чувствовать, что это был глупый вопрос сейчас ... – boidkan