Вот код, который у меня есть:
Код: Выделить всё
import SwiftUI
import FirebaseStorage
func testingCall(){
let _ = print("Test")
}
struct GalleryView: View {
@State var photos = [String]()
func getDownloadURl() -> [String] {
var photoURLS = [String]()
let ref = Storage.storage().reference()
let storageReference = ref.child("images/")
storageReference.listAll { (result, error) in
if let error = error {
print(error)
}
for item in result!.items {
//List storage reference
let storageLocation = String(describing: item)
let gsReference = Storage.storage().reference(forURL: storageLocation)
// Fetch the download URL
gsReference.downloadURL { url, error in
if let error = error {
// Handle any errors
print(error)
} else {
// Get the download URL for each item storage location
print(url!)
print(type(of: url!))
print(type(of: url!.absoluteString))
photoURLS.append(url!.absoluteString)
print(photoURLS)
}
}
}
}
return photoURLS
}
var body: some View {
NavigationView {
ScrollView {
LazyVGrid(columns: [
GridItem(.fixed(100)),
GridItem(.fixed(100)),
GridItem(.fixed(100))
], spacing: 12, content:{
ForEach(photos, id: \.self){ photoURL in
HStack {
Spacer()
AsyncImage(url: URL(string:photoURL)){ result in
if let result = result.image{
result
.resizable()
.frame(width:124,height:124)
}
}
Spacer()
}
.padding()
.background(Color.red)
}
})
}.navigationTitle("Gallery")
.onAppear{
photos = self.getDownloadURl()
}
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/785 ... rned-value