Qualcosa di strano in corso con IBOutlets. Proprietà IBOutlet nil dopo la visualizzazione personalizzata caricata da xib
Nel codice che ho provo ad accedere a questa proprietà, ma sono nil
. Codice:
class CustomKeyboard: UIView {
@IBOutlet var aButt: UIButton!
@IBOutlet var oButt: UIButton!
class func keyboard() -> UIView {
let nib = UINib(nibName: "CustomKeyboard", bundle: nil)
return nib.instantiateWithOwner(self, options: nil).first as UIView
}
override init() {
super.init()
commonInit()
}
override init(frame: CGRect) {
super.init(frame: frame)
commonInit()
}
required init(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
commonInit()
}
// MARK: - Private
private func commonInit() {
println(aButt)
// aButt is nil
aButt = self.viewWithTag(1) as UIButton
println(aButt)
// aButt is not nil
}
}
Dove li accedendo oltre commonInit? –
@AshrafTawfeeq ora da nessuna parte. Non posso iniziare questo corso in modo normale. Anche il progetto clean non aiuta – Sk0prion
Gli outlets non sono ancora impostati al momento di init perché la vista non è stata caricata. Il tuo secondo log funziona perché l'accesso alla vista fa sì che venga caricato. – rdelmar