问题描述
首先,我对 Swift 完全是个菜鸟。
我正在尝试在 Swift 中将文件从一个位置移动到另一个位置。例如,我有一个函数可以让我在 Swift 脚本中使用 bash 命令。我只需使用以下命令将所有文件从一个文件夹移动到当前位置: shell("mv \(currentDirectory)/archive/*.crash \(currentDirectory)")
。
但是我被告知使用 fileManager API 来移动文件,并且通过使用 filemanager 我可以有更好的错误报告功能。我确实看到 Apple 有以下命令:https://developer.apple.com/documentation/foundation/filemanager/1414750-moveitem 编辑**:所以我已经能够弄清楚如何使用以下代码来做到这一点:
let files = try? fileManager.contentsOfDirectory(atPath: "\(currentDirectory)/archive")
if let files = files {
for file in files {
do {
try fileManager.moveItem(atPath: "\(currentDirectory)/archive/\(file)",toPath:"\(currentDirectory)/ips/\(file)")
print(files.count)
} catch {
print("Error \(error)")
}
}
}
}
但是,当我运行我的脚本时,它会按预期移动文件,但现在它使我的脚本崩溃并出现致命错误:索引超出范围
有谁知道这是否是因为 contentOfDirectory 抛出了一个空数组?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)