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/