2014-06-11 46 views
1

我創建了一個HeadView.xib文件,它是類文件HeadView.swift。在xib文件中,我將該類設置爲HeadView。Swift從.xib文件實例化NSView

在我的ViewController我打電話以下代碼:

var myHeadView: HeadView? 

@IBAction func buttonClicked(sender : NSButton?) { 
    let myrect = CGRect(x: 0, y: 0, width: 350, height: 350) 
    posView = POSView.init(frame:myrect) 
} 

編譯器與下面的錯誤抱怨:

類型名稱後

預期的會員名稱或構造函數的調用和

'()'不可轉換爲'HeadView'

在我HeadView類我希望實例用下面的代碼

class HeadView: NSView { 

    init(frame frameRect: NSRect) { 
     super.init(frame:frameRect) 

     var viewArray: NSArray? 

     NSBundle.mainBundle().loadNibNamed("HeadView", owner: nil, topLevelObjects: &viewArray) 

     return viewArray.ObjectAtIndex(0) 
    } 
} 

在斯威夫特是什麼初始化返回XIB文件?有沒有更好的方法來從文件實例化視圖?

回答

-2

你不斯威夫特

調用 init
posView = POSView.init(frame:myrect) 

應該

posView = POSView(frame:myrect) 
+0

感謝。在init函數中,視圖是如何實例化的? –

+0

@MichaelRivers你是什麼意思?你可以在swift中閱讀以下關於init函數的更多信息:https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Initialization.html#//apple_ref/doc/uid/TP40014097 -CH18-XID_266 –

+2

這並不能真正回答這個問題 – mericano1