我試圖在viewController
添加子視圖。爲了執行該操作,我創建了一個xib
文件和一個關聯的類。相關類的代碼如下:應用程序突然崩潰時調用Super.init(編碼器:解碼器)
import UIKit
@IBDesignable class CustomClassViewController: UIView {
@IBOutlet weak var myLabel: UILabel!
var Dummyview : UIView! //= UIView()
override init(frame: CGRect) {
super.init(frame: frame)
setup()
}
required init (coder aDecoder : NSCoder){
super.init(coder : aDecoder)!
setup()
}
func setup() {
Dummyview = loadViewFromNib()
Dummyview.frame = bounds
Dummyview.autoresizingMask = UIViewAutoresizing.FlexibleWidth
Dummyview.autoresizingMask = UIViewAutoresizing.FlexibleHeight
addSubview(Dummyview)
}
func loadViewFromNib() -> UIView {
let bundle = NSBundle(forClass : self.dynamicType)
let nib = UINib(nibName: "Custom View", bundle: bundle)
let view = nib.instantiateWithOwner(self, options: nil)[0] as! UIView
return view
}
它顯示沒有錯誤在運行應用程序但它運行應用程序時崩潰。錯誤顯示如下:
「威脅1:EXC_BAD_ACCESS(代碼= 2,地址= 0x7fff52776e88)」
super.init(coder : aDecoder)!
但是沒有錯誤中輸出。
我該怎麼辦?任何解決方案請告訴我。 在此先感謝
感謝您的意見。我試過你提供的解決方案,但它並沒有爲我工作。另一件事如果我不聲明類爲@IBDesignable那麼它不會顯示在我的視圖控制器中作爲子視圖 –
我的意思是「它不會在我的視圖控制器中顯示爲子視圖」請先了解如何使用IBDesignable 。這是一篇非常好的文章: http://nshipster.com/ibinspectable-ibdesignable/ UIViewController不能是IBDesignable。你混淆了視圖和ViewController。你想要什麼?一個IBDesignable UIView或UIViewController? – Istvan