2016-09-14 3 views
-1

Я прочитал много сообщений и видео об этом, и я прочитал, что с помощью функции вызывает «prepareforsegue», но я не понимаю, где реализовать и какие другие вещи я должен делать. У меня есть 4 текстовых поля, которые я хочу вызвать из другого более позднего контроллера. Большое спасибо за ответ. :)Вызвать текстовое поле из другого контроллера вида в swift (prepareforsegue)

ответ

0

Вы не можете установить значения или получить доступ к текстовым полям или любой другой розетке внутри метода prepareforsegue. Это потому, что метод prepareforsegue называется «до», когда устанавливаются выходные точки контроллера назначения. Поэтому вам нужно создать переменную в контроллере назначения, которая получает значение для текстового поля, а затем в viewDidLoad в контроллере назначения установила его в текстовое поле.

В prepareforsegue метода:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 
    if let destinationViewController = segue.destinationViewController as? SecondViewController { 
     destinationViewController.valueForTextField = "Hi" 
    } 
} 

В контроллере назначения (который SecondViewController в моем случае):

@IBOutlet weak var textField: UITextField! 
var valueForTextField: String? 
override func viewDidLoad() { 
    super.viewDidLoad() 
    textField.text = valueForTextField 
} 
0

Он помогает разместить ваш код.

prepareForSegue Внутри, возьмите ViewController назначения, который держит ваши TextFields с помощью:

let vc = segue.destinationViewController

затем vc.textField1.text = "Your Text here" & повторить для других текстовых полей.

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