Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.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
Swift 展开UILabel始终返回零_Swift_Uilabel_Optional - Fatal编程技术网

Swift 展开UILabel始终返回零

Swift 展开UILabel始终返回零,swift,uilabel,optional,Swift,Uilabel,Optional,我已经使用故事板将UILabel连接到我的VC,生成了一个弱var,但连接到了一个故事板引用。不管怎样,每当我试图打开它,我得到的只是一个零值。最让我困惑的是,我可以通过另一种方法访问它。我已经安全地打开了它,它避免了编译器错误,但不能解决我的问题 编译器消息为:致命错误:在展开可选值时意外发现nil 下面是一些代码: @IBOutlet weak var linesLeftCountLabel: UILabel! override func viewDidLoad() { su

我已经使用故事板将UILabel连接到我的VC,生成了一个弱var,但连接到了一个故事板引用。不管怎样,每当我试图打开它,我得到的只是一个零值。最让我困惑的是,我可以通过另一种方法访问它。我已经安全地打开了它,它避免了编译器错误,但不能解决我的问题

编译器消息为:致命错误:在展开可选值时意外发现nil

下面是一些代码:

@IBOutlet weak var linesLeftCountLabel: UILabel!

override func viewDidLoad() {

      super.viewDidLoad()

      skView = SKView(frame: sceneView.frame)
      skView.multipleTouchEnabled = false

      //Create and configure the scene.
      scene = LogoRefactoryScene(size: skView.bounds.size)
      scene.scaleMode = .AspectFill
      skView.presentScene(scene)

      tapGesture = UITapGestureRecognizer(target: self, action: "eraseLine:")
      tapGesture.delegate = self
      view.addGestureRecognizer(tapGesture)

      view.addSubview(skView)
    }
在这里,我可以访问它:

  @IBAction func colorPickerOfColor(sender: UIButton) {

    var pickerName = ""

    switch sender.tag {

    case 0:
      pickerName = "green"

    case 1:
      pickerName = "red"

    case 2:
      pickerName = "blue"

    default:
      pickerName = "orange"
    }

    pickerName += "ColorPicker"
    colorPickerView.image = UIImage(named: pickerName)

    currentColorName = ColorSelection.fromRaw(sender.tag + 1)!.colorName

    let color = ColorSelection.fromRaw(sender.tag + 1)!.getSKColor()
    scene.lineColor = color
    linesLeftCountLabel.textColor = color
  }
以下是编译器抱怨的地方:

  func lineHasBeenDrawn() {

    linesLeftCountLabel.text = "Any String"
  }

对不起,伙计们。LineHasDraw是一个委托方法,这就是奇怪行为的原因。
我的坏。

请检查您是否已将故事板中的引用插座连接到代码的IBOutlet


这毫无意义。。可能有一个错误,你正在试图改变代码,我们需要看到一些代码来帮助you@Heliem现在我已经发布了整个类:我希望它能帮助我们调用
lineHasBeenDrawn()
?@Heliem它是一个委托方法。@Heliem但只有在所有内容都已设置好之后才会调用它。因此,标签已经实例化了。如果它是委托方法,那又有什么关系呢?我也遇到了同样的问题,你有没有找到解决办法?谢谢