Ios 将拖动的文件夹(项目)复制到swift macOS中的临时文件夹中
是否有人知道如何在拖放时将拖动的文件夹(项目)复制到临时文件夹中,而无需任何细节,我建议您阅读本文 对于UI,Swift更简单:Ios 将拖动的文件夹(项目)复制到swift macOS中的临时文件夹中,ios,macos,Ios,Macos,是否有人知道如何在拖放时将拖动的文件夹(项目)复制到临时文件夹中,而无需任何细节,我建议您阅读本文 对于UI,Swift更简单: struct ContentView: View, DropDelegate { @State private var dragging = false let TYPE = (kUTTypeFileURL as String) var body: some View { Text("drag here!")
struct ContentView: View, DropDelegate {
@State private var dragging = false
let TYPE = (kUTTypeFileURL as String)
var body: some View {
Text("drag here!")
.frame(maxWidth: .infinity, maxHeight: .infinity)
.border(dragAreaBorder, width: 5)
.onDrop(of: [TYPE], delegate: self)
}
var dragAreaBorder: Color {
return dragging ? .accentColor : .yellow
}
func dropUpdated(info: DropInfo) -> DropProposal? {
dragging = true
let proposal = DropProposal.init(operation: .copy)
return proposal
}
func performDrop(info: DropInfo) -> Bool {
let itemProviders = info.itemProviders(for: [TYPE])
for itemProvider in itemProviders{
itemProvider.loadItem(forTypeIdentifier: TYPE, options: nil) { item, error in
guard let data = item as? Data, let url = URL(dataRepresentation: data, relativeTo: nil) else { return }
// remember to dispatch on main in case of a @State change
//print(url)
process(url: url)
}
self.dragging = false
return true
}
}
struct ContentView_Previews: PreviewProvider {
static var previews: some View {
ContentView()
}
func process(url: URL){
let isDirectory = url.hasDirectoryPath
if !isDirectory{
let path = url.path
doTaskFor(sourcePath: path, callback: callback)
return
}
let fm = FileManager.default
// is a dir:
guard let files = try? fm.contentsOfDirectory(at : url,
includingPropertiesForKeys : nil,
options : [] ) else {
return
}
for url in files{
//..... what ever...
}
}
我有一个处理拖拽文件的想法,但需要知道如何处理文件夹项目请将您的问题限制在与编程相关的任何内容。这并不能提供问题的答案。若要评论或要求作者澄清,请在其帖子下方留下评论。-我不同意。答案是:a)提供一个有用的教程链接b)我提供一个工作示例。。。所以