Por que nenhum loop infinito no didSet?
No meu FirstViewController, tenho um botão direcionando para o SecondViewController, transmitindo dados para uma propriedade no SecondViewController. Essa propriedade possui um observador de propriedades, criando uma nova instância do SecondViewController quando configurada.
Enquanto está funcionando como eu quero, pergunto-me por que não fica preso em um loop infinito, criando uma instância do SecondViewController para sempre. E é uma boa prática fazer dessa maneira?
FirstViewController:
class FirstViewController: UIViewController {
@IBAction func something(sender: UIButton) {
let destination = storyboard?.instantiateViewControllerWithIdentifier("secondViewController") as SecondViewController
destination.selected = 1
showViewController(destination, sender: self)
}
}
SecondViewController:
class SecondViewController: UIViewController {
var selected: Int = 0 {
didSet {
let destination = storyboard?.instantiateViewControllerWithIdentifier("secondViewController") as SecondViewController
destination.selected = selected
showViewController(destination, sender: self)
}
}
@IBAction func something(sender: UIButton) {
selected = 2
}
}