我不知道在一个叫做HyperlinkTextField的子类中调用NSTextField的init函数的正确格式。
class HyperlinkTextField: NSTextField {
var url: String = ""
override func mouseDown(with event: NSEvent) {
NSWorkspace.shared.open(URL(string: url)!)
}
required init?(coder: NSCoder) {
super.init(coder: coder)
isBezeled = false
}
init(string: String) {
super.init(string: string) // error: must call a designated initializer of the superclass 'NSTextField'
isBezeled = false
}
}
所有继承自 NSControl
有两个指定的初始化器
init?(coder: NSCoder)
init(frame: NSRect)
所以你一定要叫后者
init(string: String) {
super.init(frame: .zero)
self.stringValue = string
isBezeled = false
}