Điều gì đó kỳ lạ xảy ra với IBOutlets. Thuộc tính IBOutlet không sau khi xem tùy chỉnh được tải từ xib
Trong mã Tôi đã cố gắng truy cập vào các thuộc tính này, nhưng chúng là nil
. Mã số:
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
}
}
đâu bạn truy cập vào chúng bên cạnh commonInit? –
@AshrafTawfeeq hiện không có nơi nào. Tôi không thể bình thường init lớp này. Ngoài ra dự án sạch sẽ không giúp được – Sk0prion
Các cửa hàng chưa được đặt tại thời điểm init vì chế độ xem chưa được tải. Nhật ký thứ hai của bạn hoạt động vì việc truy cập chế độ xem làm cho nó được tải. – rdelmar