强制重装watchOS 2复杂function

我有问题让复杂function工作。 如果我能够可靠地刷新它们将是有帮助的。

因此,我将强制按下菜单button连接到以下方法

@IBAction func updateComplication() { let complicationServer = CLKComplicationServer.sharedInstance() for complication in complicationServer.activeComplications { complicationServer.reloadTimelineForComplication(complication) } } 

不幸的是,这导致应用程序崩溃。 与一个fatal error: unexpectedly found nil while unwrapping an Optional value

我明白,调用reloadTimelineForComplication(complication)是预算,但这不能成为问题,因为它从一开始就不工作。

我目前正在使用watchOS2 + Xcode 7 GM

我很感激任何想法,使应用程序正在运行时刷新并发症?

跟踪或使用exception断点,并重点阅读整个错误消息,它告诉你在哪一行发现意外的零(我怀疑complicationServer)。 使用“如果让”而不是“让”强制展开相应的variables。

 private func reloadComplications() { if let complications: [CLKComplication] = CLKComplicationServer.sharedInstance().activeComplications { if complications.count > 0 { for complication in complications { CLKComplicationServer.sharedInstance().reloadTimelineForComplication(complication) NSLog("Reloading complication \(complication.description)...") } WKInterfaceDevice.currentDevice().playHaptic(WKHapticType.Click) // haptic only for debugging } } } 
Interesting Posts