Похоже, что snapshotUrl.value является необязательным URL-адресом.Если вы хотите преобразовать его в словарь, вам просто нужен ключ и значение.
У нас нет доступа к структуре данных snapshot
, чтобы сказать вам, как именно ее использовать.
Вот некоторый код игровой площадки, который демонстрирует, что я имею в виду.Это работает как есть:
import UIKit
import PlaygroundSupport
struct SnapShot {
func childSnapshot(forPath: String) -> URLWrapper? {
return URLWrapper(url: URL(string: "https://image.shutterstock.com/image-vector/sample-red-square-grunge-stamp-260nw-338250266.jpg")!)
}
}
struct URLWrapper {
var url:URL
var value:String? {
get {
return url.absoluteString
}
}
}
func fetchAllPostImages() {
let session = URLSession.shared
print("fetchAllPostImages function")
let snapshot = SnapShot()
if let snapshotUrl = snapshot.childSnapshot(forPath: "ImageUrl"), let snapShotValue = snapshotUrl.value, let imageURL = URL(string: snapShotValue) {
let task = session.dataTask(with: imageURL, completionHandler: { (data, response, error) in
if let data = data {
let image = UIImage(data: data)
print(image ?? "none")
}
})
task.resume()
}
}
PlaygroundPage.current.needsIndefiniteExecution = true
fetchAllPostImages()