2015-08-16 2 views
0

Я использую этот код, чтобы прыгать между двумя раскадрой и его успех.Как передать значение между различными раскадровки?

var sb = UIStoryboard(name: “storyboardbName”, bundle: nil) 
var viewctrl = sb.instantiateViewControllerWithIdentifier(“a-view”) as! UIViewController 
self.navigationController?.pushViewController(viewctrl, animated: true) 

Но как я могу передать ценность другой раскадровке? Когда я использую только одну раскадровку раньше, я могу установить segue для передачи значения, но использовать для раскадровки, не может быть установлен segue.

+0

Использовать глобальные переменные –

ответ

1

Например, вид контроллера второго раскадровки есть линия var someString = ""

Создать новую переменную того же типа в контроллере представления первого stroryboard (от вас выполнения кода, размещенных), как aSomeString = ""

установить значение aSomeString перед строкой self.navigationController?.pushViewController(viewctrl, animated: true), а затем установите значение переменной от назначения VC: viewctrl.someString = aSomeString

Смотри this вопрос, у меня была такая же проблема

+0

Невозможно использовать как viewctrl.someString = aSomeString –

+0

В противном случае используйте static var –

+0

Почему? Переменные должны иметь один и тот же тип и объявлены в bort Vc – SwiftStudier

Смежные вопросы