Ios 将自定义UIView加载为nib显示错误EXC\u BAD\u访问

Ios 将自定义UIView加载为nib显示错误EXC\u BAD\u访问,ios,swift,nib,Ios,Swift,Nib,我试图从nib加载自定义UIView,但它在 super.init(coder:aDecoder)asEXC\u BAD\u ACCESS required init?(coder aDecoder: NSCoder) { // call super.init(coder:) super.init(coder: aDecoder) // Setup view from .xib file self.xibSetup() } 当我试图打印aDecoder时,它打

我试图从nib加载
自定义UIView
,但它在

super.init(coder:aDecoder)
asEXC\u BAD\u ACCESS

required init?(coder aDecoder: NSCoder) {
    // call super.init(coder:)
    super.init(coder: aDecoder)

    // Setup view from .xib file
    self.xibSetup()
}
当我试图打印aDecoder时,它打印为

错误:尝试将堆栈放入以下位置的不可读内存中:
0x7fff5ba3af00。

我的func xibSetup()如下所示:

fun xibSetup() {
let bundle = NSBundle(forClass: self.dynamicType)
    let nib = UINib(nibName: "Dialog", bundle: bundle)

    // Assumes UIView is top level and only object in CustomView.xib file
    let view = nib.instantiateWithOwner(self, options: nil)[0] as! UIView

// use bounds not frame or it'll be offset
    view.frame = bounds

    // Make the view stretch with containing view
    view.autoresizingMask = [UIViewAutoresizing.FlexibleWidth, UIViewAutoresizing.FlexibleHeight]

    // Adding custom subview on top of our view (over any custom drawing > see note below)
    addSubview(view) }

你在这里做了什么?您想在Viewcontroller中加载nib,对吗?@Jigar我已经编辑了我的问题,现在您可以看到它了。@SwapnilDhotre在这个上下文中什么是
super
?Init似乎不是一个进行UI操作的好地方,比如改变框架和添加子视图。@lawicko这里的super将是UIView。实际上,这在另一个控制器上工作,但在另一个控制器上尝试相同的操作时,会出现问题。@SwapnilDhotre这里有问题,在代码的其他地方,您从xib实例化此视图,这是在调用
initWithCoder:
时,然后在
initWithCoder:
中再次加载nib并将视图添加到superview中,你确定这就是你想做的吗?我认为您应该显示更多的代码,以便我们知道在什么情况下调用了原始的
initWithCoder:
。您在安装中做了什么?您想在Viewcontroller中加载nib,对吗?@Jigar我已经编辑了我的问题,现在您可以看到它了。@SwapnilDhotre在这个上下文中什么是
super
?Init似乎不是一个进行UI操作的好地方,比如改变框架和添加子视图。@lawicko这里的super将是UIView。实际上,这在另一个控制器上工作,但在另一个控制器上尝试相同的操作时,会出现问题。@SwapnilDhotre这里有问题,在代码的其他地方,您从xib实例化此视图,这是在调用
initWithCoder:
时,然后在
initWithCoder:
中再次加载nib并将视图添加到superview中,你确定这就是你想做的吗?我认为您应该显示更多的代码,以便我们知道在什么情况下调用原始的
initWithCoder: