Убедитесь, что у вас есть учитывая все ViewControllers идентификатор, то экземпляр их:
guard let viewControllerB = storyboard?.instantiateViewControllerWithIdentifier("ViewControllerB") as? ViewControllerB else {
fatalError(); return
}
// then access the variable/property of ViewControllerB
viewControllerB.banana = whatEver
Добавлено разъяснений
Это один работает для меня.
Просто убедитесь, что вы указали TableViewController идентификатор, иначе вы не сможете его создать. Также убедитесь, что вы передали результат instantiateViewControllerWithIdentifier в класс TableViewController, иначе вы не сможете получить доступ к его переменным (я видел, что вы боретесь с этим, если вы получаете сообщение об ошибке, что UIViewController не имеет члена «туАггау», то вы, вероятно, забыли бросить результат)
class TableViewController: UITableViewController {
var myArray = [String]()
}
class ViewController: UIViewController {
func someEventWillTriggerThisFunction() {
let storyboard = UIStoryboard(name: "Main", bundle: nil)
guard let tableViewController = storyboard.instantiateViewControllerWithIdentifier("TableViewController") as? TableViewController else {
fatalError(); return
}
tableViewController.myArray = ["Value1", "Value2", "Value3"]
/* if you want to present the ViewController use this: */
self.presentViewController(tableViewController, animated: true, completion: nil)
}
}
Так что вы хотите передать уаг банан ViewB.Swift? Что вы пробовали? Вы создали свойство в ViewB? –
Как выглядит ViewB, связанный с ViewA, или они вообще связаны? – Eendje
Их совсем нет. Сегментов нет. Единственное отношение - это оба ViewControllers, и они оба находятся в одном проекте. – Waffles