FileManager MoveItem 回调 - Swift

Fab*_*Fab 1 delegates file-manager ios swift

我正在使用 FileManager 在我的应用程序中编辑、移动和删除文件。但如何确定 moveItem 方法已完成?有可能回调吗?我读过一些有关 FileManagerDelegate 的内容,但没有找到足够的信息如何使用它。谢谢

Mic*_*let 6

moveItem(at:to:)方法是同步的,这意味着在操作完成之前它不会继续执行任何代码行。在 Swift 中,它也是如此throws,所以如果它给你一个错误,你就知道出了问题,如果它继续,一切都很好。你应该这样称呼它:

do{
    try FileManager.default.moveItem(at: origURL, to: newURL)
}
catch let error{
    // Handle any errors here
    dump(error)
}
Run Code Online (Sandbox Code Playgroud)

在 Objective-C 中,它返回一个BOOL指定操作是否成功的值,并采用一个引用传递NSError,如果出现问题,它将进行配置。例如:

NSError *error = nil;
BOOL success = [[NSFileManager defaultManager] moveItemAtURL:origURL toURL:newURL error:&error];
if(!success || error){
    // Something went wrong, handle the error here
}
else{
    // Everything succeeded
}
Run Code Online (Sandbox Code Playgroud)