0

在我的拖动目标视图(NSView子类)中,我实现了:

override func performDragOperation(_ draggingInfo: NSDraggingInfo) -> Bool {

    // check for Photos promises
    var gotPromised = false
    draggingInfo.enumerateDraggingItems(options: [], for: self, classes: [NSFilePromiseReceiver.self], searchOptions: [:], using: {(draggingItem, idx, stop) in
        let filePromiseReceiver = draggingItem.item
        print("got a file promise receiver: \(filePromiseReceiver)")
        gotPromised = true
        // Use filePromiseReceiver here for your task.
    })
    return gotPromised
}

当我运行它并从 Photos.app 中拖动一些东西时,我收到了这个警告:

照片警告

如何修复我的拖动目的地没有此警告?我想在我的应用程序中获取全质量的照片。

4

1 回答 1

0

出色地。经过一番调查,我自己想通了。您需要做多件事(注册正确的类型,正确枚举项目等),如果您只是完全正确地实现承诺接收,则不会出现警告。Apple 提供了一个示例项目,可以正确实现所有内容。

于 2019-02-23T15:31:24.587 回答