Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
watchOS上SwiftUI中WKInterfaceController.didAspect()的等价物是什么?_Swiftui_Watchos - Fatal编程技术网

watchOS上SwiftUI中WKInterfaceController.didAspect()的等价物是什么?

watchOS上SwiftUI中WKInterfaceController.didAspect()的等价物是什么?,swiftui,watchos,Swiftui,Watchos,我正在构建一个Apple Watch应用程序,每次该应用程序出现在前台时,我都会运行一些代码 以前,如果我想在带有WKInterfaceController的watchOS中执行此操作,我会将此代码放入didAspect() 在SwiftUI中,有onAppear(),但当我在watchOS上调用它时,它似乎只是在应用程序第一次加载时才被调用,因此它的行为类似于WKInterfaceController.willActivate()。该应用程序只有一个视图 如果onAppear()相当于WKIn

我正在构建一个Apple Watch应用程序,每次该应用程序出现在前台时,我都会运行一些代码

以前,如果我想在带有
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。但这并不意味着控制器实际上是可见的,因为它可能位于页面列表等中。