swift - 尝试在 WatchKit 中的接口(interface) Controller 之间发送数据时,上下文显示 nil

标签 swift segue watchkit wkinterfacecontroller

我有两个接口(interface) Controller ,其中 FirstInterfaceController 是我想要发送到 SecondInterfaceController 的上下文对象的 Controller 。我想知道为什么当我点击按钮操作时上下文显示为 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 标识符 enter image description here

这是 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,效果很好。

关于swift - 尝试在 WatchKit 中的接口(interface) Controller 之间发送数据时,上下文显示 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44962827/

相关文章:

swift - 在 react-native 上获取 ApplicationContext

xcode - 没有名为 'UIApplicationDelegate' 的类型或协议(protocol)

swift - 如何在 Swift 中构造没有协议(protocol)的泛型?

ios - 在 Swift 4 中从 uitextfields 将数据发布到服务器

ios - 从托管 Controller 重新加载 SwiftUI View

ios - 使用 mmdrawercontroller 快速准备segue

ios - 如何通过 prepare for segue 将不同的 url 传递给下一个 VC?

ios - Swift - WidgetKit 背景透明

ios - HKStatisticsCollectionQuery 工作一天然后停止。如何让更新处理程序无限期地工作?

ios - 如何将图像从 CollectionView 传输/显示到另一个 ViewController