我创建了一个HeadView.xib文件及其类文件HeadView.swift。在xib文件中,我将类设置为HeadView。
在我的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类中,我希望使用以下代码实例化xib文件
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)
}
}
在Swift中,init返回什么?有没有更好的方法从文件实例化视图?
答案 0 :(得分:-3)
你不能在Swift中调用init
posView = POSView.init(frame:myrect)
应该是
posView = POSView(frame:myrect)