ios - 在 Swift 3 中从本地文件加载数据对象

标签 ios swift swift3

我正在努力获取在 Swift 3 中加载的图像文件。 这是代码:

do {
    let imageData = try Data(contentsOf: imageUrl2.asURL()) 
} catch { 
    print ("loading image file error") 
}

当前的 Url 字符串是:

file:///Users/veikoherne/Library/Developer/CoreSimulator/Devices/889A08D5-B8CC-458C-99FF-643A4BA1A806/data/Containers/Data/Application/F64ED326-7894-4EE7-AA3B-B1BB10DF8259/Documents/img2017-03-23 17:39:24.jpg

显然我已经检查过这个文件存在并且是有效的图像。它总是最终告诉我“加载图像文件错误”。有人有在 Swift 3 中加载本地数据的经验吗?

提到的答案是使用 NSData 对象,可能是 Swift 2。当前的 Swift 3 拒绝将 NSData 桥接到数据,这就是我必须使用数据的原因。

最佳答案

从本地文件加载数据你应该使用“contentsOfFile:”方法。

引用链接:https://www.hackingwithswift.com/example-code/strings/how-to-load-a-string-from-a-file-in-your-bundle

所以在读取数据的情况下你可以使用:

Data(contentsOf: <URL>, options: <Data.ReadingOptions>)

将纯文本作为字符串读取,使用:

String(contentsOfFile: <LocalFileDirPath>)

从文档目录读取图像,使用:

UIImage(contentsOfFile: <LocalFileDirPath>)

希望这会有所帮助!

关于ios - 在 Swift 3 中从本地文件加载数据对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42982666/

相关文章:

ios - 无法在自定义 TableView 单元格中加载图像

ios - 如何在 swift 3 中访问计算初始化程序中的计算变量?

ios - 想要在单击相同的 UIButton 时从 UITableViewCell 更改正确的 UIButton 图像

objective-c - 将文本文件合并到我的应用程序的构建中

swift - 从 TableViewcell Swift 模拟 tableview 行选择

ios - 快速实现一个简单的 SuperpoweredAdvancedAudioPlayer

ios - 为什么 Xcode 在源代码中显示错误,但我的应用程序可以正常编译和运行?

ios - 无法在设备上运行 Frank 测试,尽管 Frankified 应用程序在设备上

ios - 我正在检索所有联系人列表。然而它在 iPhone 5 中工作正常但在 iPhone 5s 中崩溃

Swift:确定树中的节点