委托中的webview强iboutlet是nil,awakefromnib从未调用过

时间:2016-01-28 10:31:40

标签: xcode swift macos swift2

目前将obj-c框架转换为swift。 在我的委托中,我有一个带有iboutlet的类到webview(我把它定义为强)但是当我尝试设置url时(第一个块来自PhWebViewController):

var parent : PhFacebook?

override func awakeFromNib() {
    let bundle = NSBundle(forClass: PhFacebook.self)
    self.window.title = bundle.localizedStringForKey("FBAuthWindowTitle", value: "", table: nil)
    self.cancelButton.title = bundle.localizedStringForKey("FBAuthWindowCancel", value: "", table: nil)
    self.window.delegate = self
    self.window.level = Int(CGWindowLevelForKey(.FloatingWindowLevelKey))
}



var webViewController : PhWebViewController?
self.webViewController = PhWebViewController()
self.webViewController!.parent = self
self.webViewController!.webView .mainFrameURL = authURL

我的osx应用程序崩溃和xcode告诉我它在打开一个optionnal时发现了nil。 我有同样的问题: Swift, error EXC_BREAKPOINT (code=1, subcode=0x100695474)

除了对我来说,iboutlet与strong属性相关联。 我做了一些检查,webViewController属性不是nil但是webView是。 我认为xib文件可能已损坏所以我创建了另一个,再次创建了出口,但没有任何改变。

之前有人遇到过同样的问题吗?

1 个答案:

答案 0 :(得分:0)

对于那些有趣的答案,为了正确加载xib文件,我使用了:

 NSBundle.mainBundle().loadNibNamed("FacebookLogin", owner: self.webViewController, topLevelObjects: nil)