所以我试图允许用户通过单击调用方法来改变所有按钮颜色的按钮来更改我的应用程序的颜色方案。我的按钮调用此方法:
@IBAction func changeColor(sender: UIButton) {
if sender.currentTitle == "Green" {
buttonOne.backgroundColor = UIColor.greenColor()
buttonTwo.backgroundColor = UIColor.greenColor()
buttonThree.backgroundColor = UIColor.greenColor()
buttonFour.backgroundColor = UIColor.greenColor()
buttonFive.backgroundColor = UIColor.greenColor()
buttonSix.backgroundColor = UIColor.greenColor()
buttonSeven.backgroundColor = UIColor.greenColor()
buttonEight.backgroundColor = UIColor.greenColor()
buttonNine.backgroundColor = UIColor.greenColor()
buttonClear.backgroundColor = UIColor.greenColor()
buttonPlus.backgroundColor = UIColor.greenColor()
buttonMin.backgroundColor = UIColor.greenColor()
buttonEq.backgroundColor = UIColor.greenColor()
buttonX.backgroundColor = UIColor.greenColor()
buttonDiv.backgroundColor = UIColor.greenColor()
buttonSet.backgroundColor = UIColor.greenColor()
}
}
但是当我运行应用程序并单击按钮更改颜色时,它会给我一个“错误指令”错误并将其打印到控制台:“致命错误:在解开可选值(lldb)时意外发现nil”
如何在不导致此错误的情况下更改按钮的颜色?如果我添加'!'到最后打开也不起作用的可选项。有什么建议吗?
答案 0 :(得分:0)
currentTitle是一个可选项,所以你应该这样做:
if let currentTitle = sender.currentTitle {
if currentTitle == "Green" {
// set button colors here
}
}