NSTable视图DataSource和Delegate在更新到Swift 4.1后停止工作

时间:2018-05-14 13:40:36

标签: swift macos

我曾在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连接到此对象。

哪里可能是个错误?

0 个答案:

没有答案