#swift #flutter #apple-watch #watchconnectivity
Вопрос:
У меня есть приложение Flutter, и я добавил приложение-компаньон Apple Watch, которое поддерживает связь с приложением Flutter.
Я следил за всем из этой статьи: https://medium.com/kbtg-life/adding-apple-watch-to-flutter-app-via-flutter-method-channel-f1443532d94e
Единственная разница в том, что я добавил askForData
метод, который в основном отправляет сообщение Flutter для метода представлений init
: «Эй, я только что открылся, мне нужны некоторые данные».
У меня уже есть несколько представлений в приложении «Часы», с навигацией и т. Д. Он askForData
прекрасно работает, и Флаттер сразу же отправляет данные обратно на часы, но.
В каждом представлении у меня есть это:
@ObservedObject var data: WatchViewModel
init() {
print("CONTENTVIEW INIT")
data = WatchViewModel()
data.askForData(for: .askForData)
}
и в представлении я отображаю данные:
VStack {
Text(data.carName)
Text(data.batteryRange)
Text(data.batteryPercent)
}
В представлении содержимого (которое является моим первым начальным представлением) все они равны 0, но если я перейду к представлению B, то все они будут содержать правильные данные.
Однако, если я перейду к просмотру C, опять же, все равно 0.
(0 и «0» являются значениями по умолчанию для полей, если они не получают данные)
Я перепробовал все, что мог придумать, и теперь чувствую себя как бы потерянным. Что может быть причиной этого?