override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
let storyboard = UIStoryboard(name: "FilteringPageSelection", bundle: nil)
controller = storyboard.instantiateViewControllerWithIdentifier("FilteringPageSelectionController") as! FilteringPageSelectionTableViewController
controller.filteringType = filterTitle[indexPath.row];
controller.selectedValue = selectedValue;
controller.title = "Selection"
self.navigationController?.pushViewController(controller, animated: true)
tableView.deselectRowAtIndexPath(indexPath, animated: true)
}
Выше мой код, это мой код контроллера табличного вида, я намерен нажать на другой контроллер представления, щелкнув по нему ячейку. Внутри нового контроллера для меня есть несколько значений. однако после того, как я выберет новое значение от нового контроллера, я вернусь к исходной сцене таблицы и получаю выбранное значение от нового контроллера и назначу в переменную selectedValue. Ниже мой код разматывания.Как повторно инициализировать функцию переопределения таблицы?
@IBAction func unwindToFilteringVC(segue:UIStoryboardSegue) {
selectedValue = controller.selectedValue
}
Однако, когда я снова нажмите на ячейку, так как функция TableView переопределение инициализации только в первый раз, когда TableView загружен, поэтому, когда я изменить значение SelectedValue, то controller.selectedValue по-прежнему остаются старое значение и нажмите на новый контроллер.
Как изменить значение параметра controller.selectedValue?
Не могли бы вы объяснить на более высоком уровне пользовательского интерфейса то, что вы действительно пытаетесь достичь? – matt
Когда вы вызываете unind segue, вам необходимо перезагрузить весь контроллер табличного представления, чтобы обновлять данные в строках. – cmashinho
положить tableview.reloadData() на вашем методе viewWillAppear –