我有一些代码返回新的iOS 10 / Swift 3 NSData替换(?)类型:数据
if let jpegData = UIImageJPEGRepresentation(newImage,0.8) { ... }
我想将此映像写入磁盘,但NSData的writeToFile:方法不适用于此类.它有一个writeToURL:方法,但似乎不适用于文件路径(和附加组件).
任何人都可以澄清我现在将如何做到这一点,就像Swift 2中的情况一样:
jpegData.writeToFile(imagePath,atomically: true)
谢谢!
使用write(to:fileURL).
例如:
let fileURL = try! FileManager.default.url(for: .documentDirectory,in: .userDomainMask,appropriateFor: nil,create: false).appendingPathComponent("test.jpg") do { try jpegData.write(to: fileURL,options: .atomic) } catch { print(error) }
或者,如果您真的遇到路径,请将其转换为URL:
do { try data.write(to: URL(fileURLWithPath: path),options: .atomic) } catch { print(error) }
但是,通常,现在最好在整个代码中使用URL引用,从而停止使用路径字符串.