Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/100.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios WatchKit";在展开可选值“时意外发现nil”;当访问IBOutlet时,请浏览实际设备_Ios_Swift_Watchkit - Fatal编程技术网

Ios WatchKit";在展开可选值“时意外发现nil”;当访问IBOutlet时,请浏览实际设备

Ios WatchKit";在展开可选值“时意外发现nil”;当访问IBOutlet时,请浏览实际设备,ios,swift,watchkit,Ios,Swift,Watchkit,我瞥了一眼,看到了一些wkelabels。根据某些条件,我在override func willActivate()中对它们使用setHidden() class GlanceController: WKInterfaceController { @IBOutlet weak var lName: WKInterfaceLabel! ... override func willActivate() { // This method is called when watch vi

我瞥了一眼,看到了一些
wkelabel
s。根据某些条件,我在
override func willActivate()
中对它们使用
setHidden()

class GlanceController: WKInterfaceController {
  @IBOutlet weak var lName: WKInterfaceLabel!
  ...

override func willActivate() {
    // This method is called when watch view controller is about to be visible to user
    super.willActivate()
    if(conditions) {
        lName.setHidden(false)
    } else {
        lName.setHidden(true)
    }
  }
}
这在模拟器中工作,但在实际观察中,我得到了
致命错误:在
lName.setHidden()
处展开可选值时意外发现了nil

以前有人看到过吗?

由于“lName”被声明为显式展开可选,因此按照以下方式访问变量更安全-

   if let validLName = lName {
     if(conditions) {
        validLName.setHidden(false)
     } else {
        validLName.setHidden(true)
     }
   }
}

至少对于当前版本的
WatchKit
,您似乎不允许在
Glance
中使用
.setHidden()

我重新设计了我的用户界面,完全使用一个标签,它的工作。很明显,它看起来不像我想的那么好


我理解限制,但真的希望有更多的文档来避免麻烦。就像我在花时间设计UI之后才发现我无法滚动查看
Glance

请从日志中发布实际错误,以及它所涉及的代码片段。确实,您的更改将防止错误发生,但代码不会完全执行。我想我找到了答案(见我的另一个回答)