Контекст показывает ноль при попытке отправить данные через контроллеры интерфейса в WatchKit
У меня есть два интерфейса контроллеров с FirstInterfaceController, где у меня есть объект контекста, который я хочу отправить в SecondInterfaceController. Мне интересно, почему контекст отображается как ноль, когда я ожидаю, что это будет 0, когда я нажимаю кнопку действие.
Метаданные определяются следующим образом:
class Metadata {
var x = 0
init (x_parameter: Int) {
x = x_parameter
}
}
Вот мое определение FirstInterfaceController:
class FirstInterfaceController: WKInterfaceController {
var metadata = Metadata(x: 1)
@IBAction func buttonAction() {
metadata.x = 0
// Use pushControllerWithName for a push segue
pushController(withName: "Ten Point Tiebreaker", context: metadata)
}
}
Вот мой идентификатор для SecondInterfaceController
Вот определение SecondInterfaceController:
class SecondInterfaceController: WKInterfaceController {
override func awake(withContext context: Any?) {
super.awake(withContext: context)
print("context: \(String(describing: context))") // This prints nil
// Configure interface objects here.
if let metadata = context as? Metadata {
print("x: \(metadata.x)")
}
}
}
1 ответ
Решение
Проблема, с которой я столкнулся, заключалась в том, что у меня также был пуш-переход, что вызывало некоторые проблемы. Я только что удалил push segue, и он работал нормально.