gpt4 book ai didi

swift - 类型 "URL"没有类型 "fileURL"- 无法将字符串数组作为字符串传递

转载 作者:行者123 更新时间:2023-11-28 16:00:08 28 4
gpt4 key购买 nike

将 pathArray 作为 fileURLWithPath 传递时出现错误。

func downloadImageForPhoto(_ photo: Photo, completionHandler: @escaping (_ success: Bool, _ errorString: String?) -> Void) {

taskForGETMethod(photo.photoURL, parameters: nil, parseJSON: false) { (result, error) in
if error != nil {
photo.imagePath = "unavailable"
completionHandler(false, "Unable to download Photo")
} else {
if let result = result {
DispatchQueue.main.async(execute: {
let fileName = (photo.photoURL as NSString).lastPathComponent
let path = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0]
let pathArray = [path, fileName]
let fileURL = URL(fileURLWithPath: "\(pathArray)")
FileManager.default.createFile(atPath: fileURL.path, contents: result as? Data, attributes: nil)

photo.imagePath = fileURL.path
completionHandler(true, nil)
})
} else {
completionHandler(false, "Unable to download Photo")
}
}
}
}

最佳答案

您不能期望使用字符串插值通过 / 分隔符连接字符串数组。

你能做的是

let pathURL = URL(fileURLWithPath: path)
let fileURL = pathURL.appendingPathComponent(fileName)

不过,确实有一种方法可以将组件数组传递给 URL 初始值设定项。虽然它与 NSURL 相关,但它返回一个 URL 实例。

let fileURL = NSURL.fileURL(withPathComponents: pathArray)!

PS:我总是建议使用与 URL 相关的 API 来获取 Documents 目录并创建文件。

关于swift - 类型 "URL"没有类型 "fileURL"- 无法将字符串数组作为字符串传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41199882/

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