I am doing some excercises now. For example I create two view controllers in storybard and I want to change color for example from VC2 in VC1 by clicking button. In this situation delegate is needed or is other way to do it?
Asked
Active
Viewed 64 times
1 Answers
0
Normally, yes. But that depends . You can use NotificationCenter, you can use "prepare" function. The delegate is the most common option here. In your case:
protocol ChangeButtonColorDelegate {
func changeButtonColor()
}
class VC1 : ChangeButtonColorDelegate... {
func changeButtonColor() {
/* change button color here */
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if (segue.identifier == "goto_vc2") {
(segue.dest as! VC2).delegate = self
}
}
}
class VC2 : ... {
var delegate : ChangeButtonColorDelegate!
}

chr0x
- 1,151
- 3
- 15
- 25