Я создаю приложение Apple Watch, и есть код, который я хочу запускать каждый раз, когда приложение выводится на передний план.
Раньше, если бы я хотел сделать это в watchOS с WKInterfaceController
, я бы поместил этот код в didAppear()
.
В SwiftUI есть onAppear()
, но когда я вызываю его на watchOS, он кажется только вызываемым при первой загрузке приложения, поэтомуон ведет себя как WKInterfaceController.willActivate()
вместо этого. Приложение имеет только одно представление.
Если onAppear()
является эквивалентом WKInterfaceController.willActivate()
, существует ли другая функция SwiftUI, которая эквивалентна WKInterfaceController.didAppear()
?
Вот мой текущий пример кода:
import SwiftUI
struct ContentView: View {
var body: some View {
Text("Hello World").font(.footnote)
.onAppear {
print("onAppear called")
}
}
}
А пока я собираюсь поэкспериментировать с вызовом того, что мне нужно сделать в ExtensionDelegate
, но я просто пытаюсь научитьсявокруг SwiftUI на WatchOS, поэтому знание ответа на этот вопрос будет полезно в будущем.