2016-12-07 43 views
-2

我有两个UIButtons,我想在按下按钮时禁用另一个按钮。禁用UIButton会引发错误

我试过不同的海报代码,但一直无法获得一个UIButton来禁用其他UIButton。

我能够setTitleColor和禁用使用发件人,但不适用于其他按钮。

以下是IF/Else语句的部分代码,但它对于有经验的编码人员应该足够了。

该代码成功构建,但在运行时显示的最后一行引发异常。致命错误:在解包可选值时意外发现nil。主题1:EXC_BAD_INSTRUCTION(代码= EXC_I386_I ...

import UIKit 
import CoreData 

class ViewController: UIViewController { 
@IBOutlet weak var buttonAdd: UIButton! 
@IBOutlet weak var buttonEdit: UIButton! 

@IBAction func buttonAdd(_ sender: AnyObject) 
{ 
    if (sender.currentTitle == "Add") 
    { 

     sender.setTitle("Save", for:UIControlState.normal) 
     sender.setTitleColor(UIColor.red, for:UIControlState.normal) 

     buttonEdit.isEnabled = false FAILS ON THIS LINE 
+1

你的故事板没有出口'buttonEdit'。 – matt

+0

行,所以如何我完成了为故事板添加插件?请详细说明代码 – ot1

+3

没有涉及的代码。请不要告诉我如何回答。 – matt

回答

0

这通常发生在从你的故事板代码出口被搞砸进入故事情节,用鼠标右键点击黄色的ViewController符号,你会看到一个警告。您应该通过点击“X”删除与该警告的条目,并重新创建一个新的出口形式故事板代码。

enter image description here

+0

在View Controller Scene ... rt中。点击黄色的视图控制器弹出打开视图控制器框,我的按钮,buttonAdd和buttonEdit都出现在出口下。两个按钮都没有黄色警告,因此没有X点击。 – ot1

+0

我想通了,从视图控制器框中拖出一条蓝线到故事板上的相应按钮。 Thx nitinsh99 – ot1

+0

由于我没有安装故事板的插座,因为我不知道如何,所以我手动安装了在View Controller类中看到的插座代码。但显然,丢失的代码需要别的地方。 – ot1