gpt4 book ai didi

ios - Swift 3.0 使用 write(toFile : atomically:) 写入二进制图像数据

转载 作者:搜寻专家 更新时间:2023-10-31 19:29:36 27 4
gpt4 key购买 nike

我正在学习教程 Project10并尝试将其转换为 Swift 3.0。使用 UIImagePickerController 选择图像然后将其保存到 Documents Directory 是通常最简单的情况。

我在这一行遇到错误:

jpegData.write(toFile: imagePath, atomically: true)

生命是这样开始的:

jpegData.writeToFile(imagePath, atomically: true)

错误想要将我的参数替换为:

jpegData.write(to: imagePath, options: true)

我很确定这不是我想要的,而且它会导致进一步的字符串/URL 错误。这两种方法,完整的是:

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : AnyObject]) {
var newImage: UIImage

if let possibleImage = info[UIImagePickerControllerEditedImage] as? UIImage {
newImage = possibleImage
} else if let possibleImage = info[UIImagePickerControllerOriginalImage] as? UIImage {
newImage = possibleImage
} else {
return
}

let imageName = NSUUID().uuidString
let imagePath = getDocumentsDirectory().appendingPathComponent(imageName)

if let jpegData = UIImageJPEGRepresentation(newImage, 80) {
jpegData.write(toFile: imagePath, atomically: true)
}

dismiss(animated: true, completion: nil)
}

func getDocumentsDirectory() -> NSString {
let paths = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)
let documentsDirectory = paths[0]
return documentsDirectory
}

我只是对字符串、NSString 和 URL 感到困惑吗?

最佳答案

好吧,我在以下方面取得了一些进展:

let imagePath = getDocumentsDirectory().appendingPathComponent(imageName)
let path = URL(fileURLWithPath: imagePath)
if let jpegData = UIImageJPEGRepresentation(newImage, 80) {
try! jpegData.write(to: path, options: [.atomic])
}

丑陋和松懈,可能会出现错误(目前),但使用 El Capitan 建议的方法的一个版本并将字符串转换为 URL 使我前进。

关于ios - Swift 3.0 使用 write(toFile : atomically:) 写入二进制图像数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38198349/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com