Swift 展开UILabel始终返回零
我已经使用故事板将UILabel连接到我的VC,生成了一个弱var,但连接到了一个故事板引用。不管怎样,每当我试图打开它,我得到的只是一个零值。最让我困惑的是,我可以通过另一种方法访问它。我已经安全地打开了它,它避免了编译器错误,但不能解决我的问题 编译器消息为:致命错误:在展开可选值时意外发现nil 下面是一些代码:Swift 展开UILabel始终返回零,swift,uilabel,optional,Swift,Uilabel,Optional,我已经使用故事板将UILabel连接到我的VC,生成了一个弱var,但连接到了一个故事板引用。不管怎样,每当我试图打开它,我得到的只是一个零值。最让我困惑的是,我可以通过另一种方法访问它。我已经安全地打开了它,它避免了编译器错误,但不能解决我的问题 编译器消息为:致命错误:在展开可选值时意外发现nil 下面是一些代码: @IBOutlet weak var linesLeftCountLabel: UILabel! override func viewDidLoad() { su
@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但只有在所有内容都已设置好之后才会调用它。因此,标签已经实例化了。如果它是委托方法,那又有什么关系呢?我也遇到了同样的问题,你有没有找到解决办法?谢谢