2015-02-20 2 views
1

Так что я пишу prepareForSegue для моего приложения, но имеющая настройку коды для изменения UIImage и UILabel для назначения ViewController вопроса.PrepareForSegue Swift (изменение UIImage и UILabel)

Каким будет код для смены изображений и UILabel, если вы перейдете к следующему ViewController?

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 
    if (segue.identifier == "toTest") {    
     let destViewController : data3ViewController = segue.destinationViewController as data3ViewController  
    } 
} 

ответ

2

Я у вас есть в вашем data3ViewControllerUILabel и UIImage, пусть говорит по имени myLabel и myImage соответственно, то вы должны сделать следующее:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 
    if (segue.identifier == "toTest") {    
     var destViewController : data3ViewController = segue.destinationViewController as data3ViewController 
     let _ = destViewController.view 
     destViewController.myLabel.text = "Something" 
     destViewController.myImage = UIImage(named: "photo") 
    } 
} 

Вызов выше, чтобы destViewController.view гарантировать, что @IBOutlet инициализируются перед установкой значений.

Я надеюсь, что это поможет вам

+0

Хммм ... Я получаю Bad_EXC_Instruction..I должен делать что-то неправильно ... – Coder

+0

переопределение Func prepareForSegue (SEGUE: UIStoryboardSegue, отправитель: AnyObject) { если (segue.identifier == "toTest") { пусть destViewController: data3ViewController = segue.destinationViewController в data3ViewController destViewController.titleLabel.text = "Изменить название" destViewController.connectorImage.image = UIImage (назван: "фон") } – Coder

+0

Вы должны проверить, не является ли ваш 'destViewControlle'r' nil' –

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