SwiftUI .onAppear не обновляет переменную @State возвращаемым значениемIOS

Программируем под IOS
Ответить Пред. темаСлед. тема
Anonymous
 SwiftUI .onAppear не обновляет переменную @State возвращаемым значением

Сообщение Anonymous »

Я пытаюсь вызвать созданную мной функцию, которая должна получать URL-адреса из облачного хранилища Google (firebase) при появлении представления. У меня нет ошибок, но код не отображает ни одно из моих изображений. Пропустил ли я какой-нибудь шаг в построении своего кода? Кстати, код, показанный ниже, является автономным внутри представления. Я планирую разделить вещи, как только выясню, что происходит.
Вот код, который у меня есть:

Код: Выделить всё

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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • SwiftUI Navigation Путь инициализации стека с onAppear не отображает правильный экран
    Anonymous » » в форуме IOS
    0 Ответы
    57 Просмотры
    Последнее сообщение Anonymous
  • SwiftUI .onAppear не вызывается на iPad в NavigationStack при выборе нового элемента для отображения
    Anonymous » » в форуме IOS
    0 Ответы
    70 Просмотры
    Последнее сообщение Anonymous
  • SwiftUI .onAppear не вызывается на iPad в NavigationStack при выборе нового элемента для отображения
    Anonymous » » в форуме IOS
    0 Ответы
    36 Просмотры
    Последнее сообщение Anonymous
  • Как реализовать такую ​​функцию, как onAppear, в SwiftUI?
    Anonymous » » в форуме IOS
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Изменение переменной @State не обновляет представление в SwiftUI
    Anonymous » » в форуме IOS
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous

Вернуться в «IOS»