Как сделать, чтобы значение переменной обновлялось каждую секунду?
Здравствуйте в моем коде есть переменная которой присваивается случайное значение массива. Мой код на 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)
}
Ответы (1 шт):
Автор решения: avldokuchaev
→ Ссылка
Сделал это следующим образом:
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()!
})
}