Как сделать, чтобы значение переменной обновлялось каждую секунду?

Рейтинг: 0Ответов: 1Опубликовано: 12.04.2023

Здравствуйте в моем коде есть переменная которой присваивается случайное значение массива. Мой код на SwiftUI. Мой массив?

let bannerAdArrey = [1, 2]

Моя переменная?

private let randarrBanner: Int = bannerAdArrey.randomElement()!

Как можно сделать так, чтобы значение этой переменной обновлялось каждые 10 секунд, чтобы менялось данное представление:

if randarrBanner == 1 {
   YandexBanner() .frame(width: 360, height: 50)
} else if randarrBanner == 2 {
    MyTargetBanner() .frame(width: 360, height: 50)
}

Ответы

▲ 0Принят

Сделал это следующим образом:

let bannerAdArrey = [1, 2]

struct ContentView: View {

@State private var timer : Timer?
    
    @State private var randarrBanner: Int = bannerAdArrey.randomElement()!
    
    @State private var randarrBanner1: Int = bannerAdArrey.randomElement()!

var body: some View {

ZStack {

VStack {
                
                if randarrBanner == 1 {
                    YandexBanner() .frame(width: 360, height: 50)
                } else if randarrBanner == 2 {
                    MyTargetBanner() .frame(width: 360, height: 50)
                }

            Spacer()
           
            if randarrBanner1 == 1 {
                YandexBanner() .frame(width: 360, height: 50)
            } else if randarrBanner1 == 2 {
                MyTargetBanner() .frame(width: 360, height: 50)
            }

}

}
.onAppear(perform: delayText)

}

private func delayText() {
        self.timer = Timer.scheduledTimer(withTimeInterval: 7.0 ,
        repeats: true, block: { timer in
            randarrBanner = bannerAdArrey.randomElement()!
            randarrBanner1 = bannerAdArrey.randomElement()!
        })
       }