watchOS上SwiftUI中WKInterfaceController.didAspect()的等价物是什么?
我正在构建一个Apple Watch应用程序,每次该应用程序出现在前台时,我都会运行一些代码 以前,如果我想在带有watchOS上SwiftUI中WKInterfaceController.didAspect()的等价物是什么?,swiftui,watchos,Swiftui,Watchos,我正在构建一个Apple Watch应用程序,每次该应用程序出现在前台时,我都会运行一些代码 以前,如果我想在带有WKInterfaceController的watchOS中执行此操作,我会将此代码放入didAspect() 在SwiftUI中,有onAppear(),但当我在watchOS上调用它时,它似乎只是在应用程序第一次加载时才被调用,因此它的行为类似于WKInterfaceController.willActivate()。该应用程序只有一个视图 如果onAppear()相当于WKIn
WKInterfaceController
的watchOS中执行此操作,我会将此代码放入didAspect()
在SwiftUI中,有onAppear()
,但当我在watchOS上调用它时,它似乎只是在应用程序第一次加载时才被调用,因此它的行为类似于WKInterfaceController.willActivate()
。该应用程序只有一个视图
如果onAppear()
相当于WKInterfaceController.willActivate()
,是否有其他SwiftUI函数相当于WKInterfaceController.didAspect()
?
下面是我当前的示例代码:
import SwiftUI
struct ContentView: View {
var body: some View {
Text("Hello World").font(.footnote)
.onAppear {
print("onAppear called")
}
}
}
同时,我将尝试触发我需要在
ExtensionDelegate
中执行的操作,但我只是想学习如何在WatchOS上使用SwiftUI,因此知道这个问题的答案在将来会很有帮助。据我所知和经历,无论何时应用程序处于后台,或当应用程序处于前台时屏幕关闭,都会调用diddactivate。每当应用程序进入前台或当应用程序已经在前台时屏幕被唤醒时,都会调用willActivate。但这并不意味着控制器实际上是可见的,因为它可能位于页面列表等中。