swift - 错误域=NSCocoaErrorDomain 代码=256

标签 swift

    override func viewDidLoad() {
    super.viewDidLoad()
    let dataURLString: String = Bundle.main.path(forResource: "IMG_0568", ofType: "JPG")!
    let dataURL = URL(string: dataURLString)
    do {
        let binaryData = try Data(contentsOf: dataURL!, options: [])
        let kbData = binaryData.subdata(in: 0..<1024)
        let stringArray = kbData.map{String(format: "%02X", $0)}
        let binaryString = stringArray.joined(separator: "-")
        print(binaryString)
        editorTextView.text = (binaryString)
    } catch {
        print("Failed to read the file.")
        //Error Domain=NSCocoaErrorDomain Code=256 "The file “IMG_0568.JPG” couldn’t be opened." UserInfo={NSURL=/Users/..../IMG_0568.JPG}
    }

我想显示我添加到 Xcode 项目中的图像文件的二进制数据(图像名称:IMG_0568.JPG)。

但是有错误

(Error Domain=NSCocoaErrorDomain Code=256 "The file “IMG_0568.JPG” couldn’t be opened." UserInfo={NSURL=/Users/..../IMG_0568.JPG})

我该如何解决这个问题?

最佳答案

这是一个很常见的错误:

文件系统中的 URL 必须用 URL(fileURLWithPath

let dataURL = URL(fileURLWithPath: dataURLString)

区别在于:

  • URL(fileURLWithPath 需要一个以斜杠开头的路径,如 /Users/myUser/file.ext
  • URL(string 需要一个包含 scheme 的 URL 字符串,例如 file:///Users...http://example.com

不过你可以使用Bundle的URL相关API来避免这个错误

let dataURL = Bundle.main.url(forResource: "IMG_0568", withExtension: "JPG")!

关于swift - 错误域=NSCocoaErrorDomain 代码=256,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49206548/

相关文章:

ios - 使用 CloudKit 进行轻量级 CoreData 迁移

Swift 闭包 [无主单例]

ios - 如何使用 swift 以编程方式解除警报?

ios - UICollectionView 标题部分问题

ios - 使用 Swift 只允许在节标题中展开一个节

ios - 阴影不在 UIButtons 上绘制

Swift 枚举评估

arrays - Xcode 10.2 中下标的使用不明确

ios - 如何处理 SKShapeNode 子类中的触摸?

swift - NSOutlineView,如何获取选中的单元格