Init自定义类UIVIew

时间:2015-08-31 21:19:55

标签: ios swift uiview

尝试使用xib文件初始化我的自定义类UIVIew但在尝试初始化属性时崩溃:

import Foundation
import UIKit

class ReportView: UIView {

@IBOutlet weak var textView: UITextView!

override init (frame : CGRect) {
    super.init(frame : frame)

}

convenience init () {
    self.init(frame:CGRectZero)
}

required init(coder aDecoder: NSCoder) {
    super.init(coder: aDecoder)
    addBehavior()
}

func addBehavior (){
    textView.layer.borderWidth = 1.0
    textView.layer.borderColor = UIColor(red: 170/255, green: 170/255, blue: 170/255, alpha: 0.5).CGColor
    textView.layer.opacity = 0.9
    textView.layer.cornerRadius = 3
    textView.clipsToBounds = true
}
}

在textview上崩溃:致命错误:在解包可选值时意外发现nil

1 个答案:

答案 0 :(得分:2)

根据xib的外观,有两个可能的问题:

  1. 您的插座未连接到xib。

  2. 或者初始化期间插座不可用,因此您无法访问仍为textView的{​​{1}}。然后,正确的方法是覆盖nil方法并将awakeFromNib放在那里。