2015-10-11 52 views
0

任何人都知道在Swift中使用NSNib實例化視圖的正確方法?無法使用NSNib加載視圖

下面的代碼崩潰了。

import Cocoa 
class ViewController: NSViewController { 
    var myview:NSView! 
    override func viewDidLoad() { 
     super.viewDidLoad() 
     let obj = AutoreleasingUnsafeMutablePointer<NSArray?>() 
     if let success = NSNib(nibNamed: "View", bundle: NSBundle.mainBundle())?.instantiateWithOwner(self, topLevelObjects: obj) where success { 
      if let m = obj.memory { // fatal error: 
       myview = m[0] as! NSView 
      } 
     } 
    } 
} 

回答

0

您所看到的fatal error,因爲你要訪問的值是零,你用力試圖解開可選。你應該安全地打開選項,這是他們的意思。因此,當您嘗試訪問optionals時總是使用if語句,那麼您將不會收到此錯誤。

+0

你真的嘗試過嗎?它不像你期望的那樣工作。這不是可選的問題。即使你使用'if let',它也會發生致命錯誤。 – toshi0383

+0

編輯爲安全地展開可選。 – toshi0383

+0

你能告訴我什麼是錯誤,我的意思是顯示你的完整錯誤,到底會發生什麼? –