- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我编写了一个从网站下载图像的应用程序。如果该图像已存在于设备上,我将尝试替换它。
func urlSession(_ session: URLSession, downloadTask: URLSessionDownloadTask, didFinishDownloadingTo location: URL) {
let userId = Int.init(downloadTask.taskDescription!)! // task description is definetly set in downloadImage() and is an Int
guard let target = imageFolder?.appendingPathComponent("\(userId).jpg") else {
delegate?.imageDownloadFailed(forUser: userId, error: "Could not create target URL.")
return
}
do {
if fileManager.fileExists(atPath: target.path) {
_ = try fileManager.replaceItemAt(target, withItemAt: location)
} else {
try fileManager.moveItem(at: location, to: target)
}
delegate?.savedImage(forUser: userId, at: target)
} catch let error {
delegate?.imageDownloadFailed(forUser: userId, error: error.localizedDescription)
}
}
问题出现在 if
语句中:
_ = try fileManager.replaceItemAt(target, withItemAt: location)
我总是遇到EXC_BAD_ACCESS
,但找不到错误。fileManager
、target
和 location
均非零。我已经尝试将代码同步分派(dispatch)到主线程,但错误仍然存在。
有什么建议吗?
由于我不是唯一遇到此错误的人,因此我决定在 Apple 创建一份错误报告。该报告可在 Open Radar 上获取; click
我还上传了 playground file at pastebin.com它演示了错误并提供了类似于 naudec 的快速解决方案.
最佳答案
有同样的问题。最终编写了我自己的版本:
let fileManager = FileManager.default
func copyItem(at srcURL: URL, to dstURL: URL) {
do {
try fileManager.copyItem(at: srcURL, to: dstURL)
} catch let error as NSError {
if error.code == NSFileWriteFileExistsError {
print("File exists. Trying to replace")
replaceItem(at: dstURL, with: srcURL)
}
}
}
func replaceItem(at dstURL: URL, with srcURL: URL) {
do {
try fileManager.removeItem(at: dstURL)
copyItem(at: srcURL, to: dstURL)
} catch let error as NSError {
print(error.localizedDescription)
}
}
我首先调用copyItem
。
关于swift3 - FileManager ReplaceItemAt() 导致 EXC_BAD_ACCESS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39930482/
在 iOS 中,确保文件在删除之前存在是一种好习惯,还是继续尝试删除可能存在或可能不存在的文件并让错误在 catch block 中静默失败是否可以? ? 我正在遍历大量要删除的本地文件,其中大约 1
$(document).ready(function(e) { tinymce.init({ selector: "textarea", theme: "modern",
我正在使用flask(一个小型python框架)创建一个应用程序,并试图将CKEditor和filemanager(https://github.com/simogeo/Filemanager)集
FileManager 的方法会抛出哪些错误?具体来说,我对 attributesOfItem(atPath:) 抛出的错误感兴趣. 这就是我想使用它的方式: do { let inode =
我是 Swift 新手。 我正在尝试编写一个简单的应用程序,该应用程序仅读取文件并将其内容转换为字符串。我正在使用 FileManager 和此处给出的 Swift 4 示例:Read and wri
我创建了这个 FileManager extension。有了这个扩展名,我想创建一个像这样的文件层次结构: Application Support Favorites Feed Images 这是我
我正在尝试将图像存储在应用程序的文档文件夹中,以便用户可以在以后随时检索它们。这是我存储它们的代码: func store(_ image: UIImage) -> String { let
我是 Swift 的新手。 我正在尝试编写一个简单的应用程序,它只读取文件并将其内容转换为字符串。我正在使用 FileManager 和此处为 Swift 4 给出的示例:Read and write
我正在尝试上传视频。我对 fileExists 是正确的,但在我看到的日志中 - Body file is unreachable: /private/var/mobile/Containers/Da
您好!我的最终目标是使用 FileManager 遍历 /Documents/ 目录并列出所有录音,从而创建一个包含应用内录音的 UITableViewController在那里找到。 录音和回放在一
我有一个用例需要将 UIImage 保存到文档目录 - 然后需要将 UIImage 转换为 PDF 并保存到文档目录. 转换为 PDF 的代码 var filePath = NSString(stri
在我的应用程序中,我会在应用程序首次启动时创建此文件夹结构: 我在这里读到Can I save the keep the absolute path of a file in database? -
目前,我正在尝试在单元测试期间创建文件,看看是否可以在创建后检索数据,但 fileManager.createFileAtPath 总是失败。我看了这个帖子:fileManager.createFil
我想在我的网页上实现 filemanager + tinymce 编辑器。问题是它不像 tinymce 网站上的预览那样工作。 Tinymce 运行良好,我在这个网站上为 tinymce 下载了文件管
我尝试使用 NSFileManager 和方法 createFileAtPath 创建一个 PLIST 文件。最后,文件被创建,它的大小为 0 字节,我什至可以在 Finder 中看到该文件的特定 P
我有 Simogeo FileManager 版本 2.0.0。我将其提取到 root/tools 中,更改了配置文件,设置了权限,将其连接到tinymce,一切似乎都正常。 tinymce 使用 F
我有一些项目保存在文档目录中。我目前需要将它们以编程方式移动到另一个目录。我成功创建了新目录,但在使用 FileManager.default.moveItem 时它似乎并没有查看它。 用于创建目录的
将我的应用程序切换到 iOS9 后,我开始收到错误消息,指出我正在编写的文件不可读。这是我创建文件的方式 let fileManager = NSFileManager.defaultManager(
我正在应用来自 Realm 文档 ( https://realm.io/docs/swift/latest/ ) 的代码片段,但它无法编译 try! FileManager.default.setA
我尝试调用 fileManager.createFileAtPath 方法,但总是失败。我的变量 success 始终为 false。我在这里查看了一些类似的帖子,但没有一个完全符合我的需要。这是我的
我是一名优秀的程序员,十分优秀!