尝试跨 WatchKit 中的接口控制器发送数据时上下文显示为 nil

context showing nil when trying to send data across Interface Controllers in WatchKit

我有两个接口控制器,其中 FirstInterfaceController 是我有一个要发送到 SecondInterfaceController 的上下文对象的控制器。我想知道为什么当我点击 buttonAction 时上下文显示为 nil 而我希望它显示为 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)")
        }
    }
}

我遇到的问题是我也有一个 Push segue,所以这导致了一些问题。我刚刚删除了 Push segue,它工作正常。