相关疑难解决方法(0)

SwiftUI:没有在 DropDelegate 中删除 NSString 值

我正在尝试使用 NSString 实现简单的拖放。我可以使用 NSURL 但不能使用 NSString。每次我尝试拖放时,我总是得到一个零值。这是我的代码:

struct ContentView: View 
{

    var body: some View 
    {
        Text("Hello World")
            .onDrag { NSItemProvider(object: "Hello World" as NSString) }
    }
}
Run Code Online (Sandbox Code Playgroud)

然后是掉落的物体:

struct DroppedView: View, DropDelegate
{
    var body: some View 
    {
        Text("Drop here")
            .onDrop(of: ["public.text"], delegate: self)
    }

    func performDrop(info: DropInfo) -> Bool
    {
         if let items = info.itemProviders(for: ["public.text"]).first
         {
             item.loadItem(forTypeIdentifier: "public.text", options: nil)
             {
                 (data, error) in
                
                 print(data)
             }
         }
         return true
    }
}
Run Code Online (Sandbox Code Playgroud)

我本以为输出是“Hello World”。我缺少什么?

drag-and-drop swiftui nsitemprovider

4
推荐指数
1
解决办法
1130
查看次数

标签 统计

drag-and-drop ×1

nsitemprovider ×1

swiftui ×1