2016-12-29 2 views
1

У меня есть TableViewController, встроенный в ViewController. У моего UITableView есть переключатели. Когда один из этих переключателей переключается, мне нужен мой номер на ViewController, чтобы увеличить его на 1. Проблема, с которой я сталкиваюсь, не позволяет получить текст для изменения. Я поставил скриншот, чтобы лучше иллюстрировать.Передача данных из встроенного TableViewController

enter image description here

То, что я пытался делать устанавливает переменную var colorViewController: ViewController? в TableViewController, а затем пытается установить текст оттуда, используя colorViewController?.displayNumber.text = screenCount при переключении на пуговицу. screenCount - это переменная, которая увеличивается при переключении переключателей.

+0

Если вы хотите передать данные из ViewController к предыдущему ViewController, вы должны использовать любого из этой методы: Singleton, протоколы или Блоки. – SNarula

ответ

0

Как вы устанавливаете переменную colorViewController?

Вам нужно установить его в текущий экземпляр вашего ViewController в своем готовом представлении ViewController для segue.

Во-первых, вам нужно указать встраивание segue идентификатора. Выберите segue в раскадровке и дайте ей идентификатор, скажем ColorPickerTableViewControllerSegue.

Затем справиться с этой SEGUE в вашем ViewController (это Swift 3-код):

override func prepare(for segue: UIStoryboardSegue, sender: Any?) { 

    if segue.identifier == "ColorPickerTableViewControllerSegue" { 
     if let colorPickerTableViewController = segue.destination as? ColorPickerTableViewController { 
      colorPickerTableViewController.colorViewController = self 
     } 
    } 
} 
Смежные вопросы