【发布时间】:2017-10-23 16:55:10
【问题描述】:
我尝试创建一个子类 os NSStackView,例如给它一个特殊的颜色。
要实例化它,我必须调用一个指定为 init 的超类,如果我理解正确的话。
我如何检测哪些是指定的初始化程序 os NSStackView。查看https://developer.apple.com/documentation/appkit/nsstackview 我发现的唯一初始化程序是:
init(views: [NSView])
但以下代码无法编译为“必须调用超类 'NSStackView' 的指定初始化程序”
class CStackView: NSStackView
{ init(views: [NSView], withColor color: NSColor)
{ super.init(views: views)
// do something wich the color
}
required init?(coder decoder: NSCoder)
{ fatalError("init(coder:) has not been implemented")
}
}
init(coder:) 似乎是一个指定的初始化程序,但我想用它的子视图初始化 CStackView,没有编码器。
【问题讨论】:
标签: swift macos cocoa initialization