У меня есть 2 функции:Как запустить функции синхронно?
var path = [Int]()
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
var selectedRow = tableView.indexPathForSelectedRow()!.row
path.append(selectedRow)
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
var secondController: SecondViewController = segue.destinationViewController as SecondViewController
println(path)
}
Так что, когда я выбираю строку его в первых оттисков ам пустой массив ([]) для меня, и только потом его распечатать, какая строка я выбрал. Как я могу поместить выделенный индекс строки в массив и распечатать его?
у вас нет для вызова 'tableView.indexPathForSelectedRow()', поскольку он уже передан в параметрах ('indexPath') – Crazyrems
@Crazyrems Проблема не в том, что он использует' indexPathForSelectedRow', а не ищет его с помощью 'sender'. Проблема в том, что 'prepareForSegue' называется _before_' didSelectRowAtIndexPath'. Если он использовал существующий код, но использовал 'sender' вместо' indexPathForSelectedRow', у него все равно была бы та же проблема, что и сейчас. Проблема в том, что они называются порядком, а не тем механизмом, который он использовал для идентификации выбранной строки. – Rob
@Rob Конечно. Просто совет. Мой комментарий не был предназначен для ответа на вопрос. – Crazyrems