我正在使用具有拖放支持的 NSOutlineView。有一個名為 outlineView(_:pasteboardWriterForItem:) 的 NSOutlineViewDataSource 函式。
此呼叫序列化傳遞給函式的專案,并允許用戶在 outlineView(_:acceptDrop:item:childIndex:) 中檢索序列化專案
@MainActor optional func outlineView(
_ outlineView: NSOutlineView,
acceptDrop info: NSDraggingInfo,
item: Any?,
childIndex index: Int
) -> Bool
話雖如此,我不明白如何使用 outlineView(_:pasteboardWriterForItem:) 撰寫多行資料。它會為每個被移動的專案呼叫,但粘貼板只保留對最后一個專案的參考。Apple 棄用了幾個多行寫入/移動功能。
我應該如何實作這個?我嘗試了幾種解決方案,但它們很老套,而且似乎不是規范的解決方案。
uj5u.com熱心網友回復:
資訊在info引數中。
有一個 API enumerateDraggingItems(options:for:classes:searchOptions:using:)來NSDraggingInfo列舉和處理專案。
在outlineView(_:pasteboardWriterForItem:)你通常只是
return item as? NSPasteboardWriting
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/521063.html
