我曾在Swift(2016)的早期版本中编写应用程序。更新到Swift 4.1之后,拖放重新排序的行停止工作。 我更改了委托函数名称,但它们从未调用过。代表本身就是自己的。
class DragableOrderedSetTableViewDelegate: NSObject {
@IBOutlet weak var tableView:NSTableView!
@IBOutlet weak var arrayController:NSArrayController!
override func awakeFromNib() {
super.awakeFromNib()
......
//this is called
}
func tableView(_ tableView: NSTableView,
writeRowsWith rowIndexes: IndexSet,
to pboard: NSPasteboard) -> Bool {
Swift.print("write rows to")
**never called**
return true
}
func tableView(_ tableView: NSTableView,
validateDrop info: NSDraggingInfo,
proposedRow row: Int,
proposedDropOperation dropOperation: NSTableView.DropOperation) -> NSDragOperation {
Swift.print("validate drop")
**never called**
return []
}
func tableView(_ tableView: NSTableView,
acceptDrop info: NSDraggingInfo,
row: Int,
dropOperation: NSTableView.DropOperation) -> Bool {
Swift.print("accept drop")
**never called**
return true
}
}
NSTableView委托将dataSource连接到此对象。
哪里可能是个错误?