У меня есть segue, привязанный к представлению таблицы. Мне нужно выяснить, какая ячейка была задействована в prepareForSegue, поэтому я могу извлечь информацию для этой ячейки и передать ее на контроллер представления назначения. Как мне это сделать?Быстрый вызов prepareForSegue после cellForRowAtIndexPath
Edit: Код:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
print ("preparingForSeque...")
if (segue.identifier == "quoteView") {
let svc = segue.destinationViewController as! QuoteViewController
svc.category = clickedCategory
print ("svc.category is now " + clickedCategory)
print ("Preparing for transfer to a quoteView")
}
}
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
clickedCategory = categoryArray[indexPath.row]
print ("cell clicked, clickedCategory is now " + clickedCategory)
}
Если вы вызываете 'tableView.reloadData()', все ячейки будут перезагружены, а 'cellForRowAtIndexPath:' будет вызываться для каждой видимой ячейки. Что именно ты пытаешься сделать? – EmilioPelaez
Вы не вызываете cellForRowAtIndexPath. Система вызывает этот метод, когда представление таблицы необходимо обновить. Вы имеете в виду, что вы хотите, чтобы ваш просмотр таблицы обновлялся, прежде чем вы запускаете segue? Расскажите, что вы пытаетесь сделать на высоком уровне. –
Я пытаюсь отобразить данные в новом ViewController на основе щелкнутой ячейки, и я переношу данные между двумя классами всякий раз, когда нажимается ячейка. Однако, когда я нажимаю на ячейку, prepareForSegue вызывается перед значением, которое мне нужно для переноса изменений (поэтому значение неверно) –