Пытается передать этикетку в выбранной ячейке на TableViewController. Вернитесь к метке в статической ячейке TableViewController, когда я нажму кнопку «Назад». Я получаю правильную метку на didSelectRowAtIndexPath()
. но данные не возвращаются, когда я пытаюсь его распечатать. Я пробовал множество сценариев и пришел сюда как последнее средство. любая помощь будет оценена благодарю вас!Данные не возвращаются к предыдущему контроллеру таблицы.
tableviewcontroller один:
class SearchTableViewController: UITableViewController, SortProtocol {
var sort: String?
override func viewDidLoad() {
super.viewDidLoad(
SORTBYCELL.detailTextLabel?.text = sort
}
func passdata(sort: String?){
self.sort = (sort)
}
TableViewController Два:
protocol SortProtocol {
func passdata(sort: String?)
}
class SortByTable: UITableViewController {
var delegate: SortProtocol?
override func viewDidLoad() {
super.viewDidLoad()
tableView.delegate = self
}
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
let current = tableView.cellForRowAtIndexPath(indexPath)! as UITableViewCell
let sort = current.textLabel!.text!
self.delegate?.passdata(sort)
В VC2, вам нужно получить ссылку на VC1 и назначить его делегатом. Вы используете навигационный контроллер? – Shades
Поместите этот «SORTBYCELL.detailTextLabel? .text = sort» в func passdata (sort: String?) {...}. Поскольку viewDidLoad выполняется только один раз при загрузке представления – KSR