2016-07-05 2 views
0

Мне интересно, когда/как делает didSet на розетке фактически триггером?Когда/How - Outlet -> didSet

Например: свойства

@IBOutlet weak var modifyButton: UIButton! { 
    didSet { 
     modifyButton.layer.cornerRadius = 9 
    } 
} 
+0

'didSet' является KVO и работает точно так же, как и KVO, [согласно официальные документы] (https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/KeyValueObserving/KeyValueObserving.html). – holex

ответ

1

Выпускные инициализируется как ноль, когда класс только инициализируется. Они будут иметь значения позже, когда объекты будут инициализированы из nib. Первый шаг, когда вы можете быть уверены, что все правильно настроенные свойства розетки имеют значения nonnil: viewDidLoad. Итак, didSet observer по этим свойствам будет вызываться как раз перед viewDidLoad. Потому что все это нужно быть осторожным с свойствами выхода: например, вы получите нуль, если попытаетесь получить к ним доступ в prepareForSegue метод

+1

Интересно, спасибо за информацию! – CeraMo69

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