尝试从存在的键获取值时,Swift获取Nil

尝试从存在的键获取值时,Swift获取Nil,swift,dictionary,viewcontroller,applicationcontext,Swift,Dictionary,Viewcontroller,Applicationcontext,我不知道为什么我在尝试打印时在可选项上出现此零错误。有人能提供意见吗?我无法从应用程序上下文中输出值是没有意义的,但是当我试图从应用程序上下文[“hearRate”]中获取值时,我得到了零 func session(_ session: WCSession, didReceiveApplicationContext applicationContext: [String : Any]) { print("didReceiveApplicationContext\

我不知道为什么我在尝试打印时在可选项上出现此零错误。有人能提供意见吗?我无法从应用程序上下文中输出值是没有意义的,但是当我试图从应用程序上下文[“hearRate”]中获取值时,我得到了零

    func session(_ session: WCSession, didReceiveApplicationContext applicationContext: [String : Any]) {
        print("didReceiveApplicationContext\n\t\(applicationContext)")
        let hrValue = applicationContext["heartRate"] as? String
        print(applicationContext["hearRate"])
        print(hrValue)
        heartRate.text = hrValue
    }
更新-忽略输入错误,发现IBOutlet存在问题

    func session(_ session: WCSession, didReceiveApplicationContext applicationContext: [String : Any]) {
        print("didReceiveApplicationContext\n\t\(applicationContext)")
        let hrValue = applicationContext["heartRate"] as? String
        print(applicationContext["heartRate"])
        print(hrValue)
        //heartRate.text = hrValue
        heartRate.text = "test"
    }
来自watchconnectivity的func会话(didReceiveApplicationContext)正在按预期工作。我相信我的问题来自于我将心率标签移动到“视图容器”。我在移动标签的同时添加了watchconnectivity,并假设它可以工作

这可能需要一个不同的问题,不确定如何沿多个同时可见的视图控制器传递数据。由于我正在ViewController上创建会话,我还不知道如何将数据传递给其他视图控制器,而不将ViewController的完整“自”引用传递给DetailViewController。来自Java和PHP,我觉得这不是一个好的编码实践


我正在考虑扩展/委托和原型。我对它们有一点了解,但我目前正在开发一个应用程序,我的主要目标是拥有一个可工作的原型。我会回来重构代码,修复所有漏洞。如果任何有经验的机构能为我提供可靠的资源。厌倦了点击谷歌的下一页,因为我找不到我正在寻找的答案,哈哈。

如果你复制并粘贴了你的代码,我认为这只是拼写错误。 您可以尝试更改此行:

print(applicationContext["hearRate"])
致:


这是我的代码,对Swift和iOS开发人员来说是相当新的。我发现问题出在IBOutlet上。如果我有更多的经验,我会把注意力集中在其他部分,所以排版被忽略了。您能否提供任何信息或可靠的文章,帮助跨多个同时处于活动状态的视图控制器传递数据?我正在考虑扩展/委托和原型。我对它们有一点了解,但我目前正在开发一个应用程序,我的主要目标是拥有一个可工作的原型。在我对原型满意之后,我会回来重构。
2021-03-11 12:45:05.482464-0700 Trainer+[1873:817768] Metal API Validation Enabled
session active state
didReceiveApplicationContext
    ["heartRate": 91BPM]
Optional(91BPM)
Optional("91BPM")
Fatal error: Unexpectedly found nil while implicitly unwrapping an Optional value: file Trainer_/ViewController.swift, line 58
2021-03-11 12:45:05.887523-0700 Trainer+[1873:817966] Fatal error: Unexpectedly found nil while implicitly unwrapping an Optional value: file Trainer_/ViewController.swift, line 58
print(applicationContext["hearRate"])
print(applicationContext["heartRate"])