Reputation: 55
I have got two views. first ist "homeView" the second is "detailView".
in homeView i have two buttons button1 button2
in detailView i have on label label1
when i push button1 the should change to "detailView" an the label1.text should be "button 1 gedrückt" when i push button2 the should change to "detailView" an the label1.text should be "button 2 gedrückt"
when i use the code:
@IBOutlet weak var label1: UILabel!
@IBOutlet weak var label2: UILabel!
@IBAction func button1(sender: UIButton) {
let vc : AnyObject! = self.storyboard!.instantiateViewControllerWithIdentifier("detailview")
self.showViewController(vc as! UIViewController, sender: vc)
// self.label1.text = "button 1 gedrückt"
}
the view will change, but the label1.text won´t change. if i use
@IBOutlet weak var label1: UILabel!
@IBOutlet weak var label2: UILabel!
@IBAction func button1(sender: UIButton) {
let vc : AnyObject! = self.storyboard!.instantiateViewControllerWithIdentifier("detailview")
self.showViewController(vc as! UIViewController, sender: vc)
self.label1.text = "button 1 gedrückt"
}
i don´t know what i can do??
Upvotes: 2
Views: 4908
Reputation: 55
Thanks too all. now i can change the text in label1 with this code
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) {
if (segue.identifier == "segueTest") {
let svc = segue.destinationViewController as! SecondViewController;
svc.toPass = label2.text
}
}
now another question? can i put this "override func" into IBAction? because i want to add more buttons. with every button there should be another text in the label1.
Thanks (i´m an absolut beginner in Xcode and swift)
Upvotes: 0
Reputation: 9389
Make sure your label is connected to your outlet or if it is duplicated. If its okay try removing the connection and connect it again. The image bellow ilustrate what im talking about.
Upvotes: 3