编译器在第3行崩溃,我无法在任何地方找到有关NSTableRowView初始化器的信息
class ItemRowView: NSTableRowView {
convenience override init(frame: NSRect) {
self.init(frame: frame) // EXC BAD ACCESS
self.draggingDestinationFeedbackStyle = NSTableViewDraggingDestinationFeedbackStyle.None
}
答案 0 :(得分:0)
首先,init( frame: NSRect )
是指定的初始值设定项,因此关键字convenience
在这个地方是错误的。
那么你可能想要递归调用super
初始值设定项而不是自己的方法。
最后,您需要实现另一个必需的初始化程序init?(coder: NSCoder)
以下代码可以帮助您:
class ItemRowView: NSTableRowView {
override init(frame: NSRect) {
super.init(frame: frame) // super - not self
self.draggingDestinationFeedbackStyle = NSTableViewDraggingDestinationFeedbackStyle.None
}
required init?(coder: NSCoder) {
// Write something useful here, or leave the default implementation
fatalError("init(coder:) has not been implemented")
}
}