Что эквивалентно WKInterfaceController.didAppear () в SwiftUI на watchOS? - PullRequest
0 голосов
/ 31 октября 2019

Я создаю приложение 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, поэтому знание ответа на этот вопрос будет полезно в будущем.

...