如何在swift 3.0中将图像写入路径

Swi*_*ter 3 core-data ios swift

我正在使用核心数据将URL存储到从imagepicker中获取的图像.

到目前为止,我有以下内容:

    let tempImage = info[UIImagePickerControllerOriginalImage] as? UIImage

    let image = UIImageJPEGRepresentation(tempImage!, 0.2)

    let path = try! FileManager.default.url(for: FileManager.SearchPathDirectory.documentDirectory, in: FileManager.SearchPathDomainMask.userDomainMask, appropriateFor: nil, create: false)
    let imageName = UUID().uuidString + ".jpg"

    let aPath = path.path

    let imagePath = (aPath as NSString).appendingPathComponent(imageName)
Run Code Online (Sandbox Code Playgroud)

结果是现在我有一个路径作为字符串来保存核心数据.但是如何将图像写入路径?我试图使用:

   let result = image!.writeToFile(path, atomically: true)
Run Code Online (Sandbox Code Playgroud)

但我得到一个错误,说类型数据的值没有成员writeToFile.还有另一种方法可以在swift 3.0中完成吗?

谢谢你的帮助.

小智 17

在Swift 3中,UIImageJPEGRepresentation创建Data而不是NSData.你可以用write而不是writeToFile.

你应该可以使用:

image.write(to: URL(fileURLWithPath: path), options: .atomic)
Run Code Online (Sandbox Code Playgroud)

并将您的图像数据写入image文件path.请注意,它使用URL而不是字符串文件路径,并且options参数已更改.