2017-03-05 31 views
0

我是swift的新手,在第一课中遇到了斯坦福在Swift上使用斯坦福大学开发iOS 9应用程序的问题。我的代码与教师完全相同,但是我收到了一个我似乎无法解决的错误。我认为这可能是Swift 2和3之间的区别,但我不确定。在Swift中按下按钮时出现无法识别的选择器错误

import UIKit 

class ViewController: UIViewController { 

    @IBOutlet weak var display: UILabel! 

    var userIsInTheMiddleOfTyping: Bool = false 

    @IBAction func touchDigit(sender: UIButton) { 

     let digit: String = sender.currentTitle! 
     if userIsInTheMiddleOfTyping { 
      let textCurrentlyInDisplay: String = display.text! 
      display.text = textCurrentlyInDisplay + digit 
      } 
     else { 
      display.text = digit 
     } 
     userIsInTheMiddleOfTyping = true 

    } 

} 

在模拟器中,我触摸自制计算器上的“数字”按钮,即发生错误时。

+0

你能显示按钮创建代码 –

+0

并显示错误 –

+0

可能重复[IBAction按钮“无法识别选择器发送到实例”错误](http://stackoverflow.com/questions/12783670/baction-button-unrecognized -selector-sent-to-instance-error) –

回答

1

太棒了!因为您必须从其他视图(或同一视图)复制了已连接操作的按钮。检查你的连接检查器。

故事板(或XIB)>>查看控制器>>选择按钮>>检查连接检查器(在这里,就不会有任何错误连接,或者与动作的多个连接)

+0

所以它看起来实际上没有任何行动,我不明白。思考? 编辑:等等,这是一个谎言,但只有一个动作,它只与我认为它应该是连接。为了好的措施,我删除了连接并重新连接了它。 – Acro2142

+0

请分享该按钮的连接检查员的屏幕截图 – 2017-03-05 04:02:28

+0

现在不用管它现在的工作!我没有改变代码,只是删除了连接并重新连接,现在它工作。不明白为什么。 – Acro2142

0

问题是不是你的代码,它是按钮的配置方式。看看故事板中的按钮。按住Control键点按按钮并查看它的操作:您可能会看到该操作与错误中报告的无法识别的选择器相同。点击'x'按钮删除操作,然后控制 - 从按钮到目标的新连接,并选择正确的操作。

如果您在代码而不是故事板中创建按钮,请检查创建按钮的代码。你会发现在那里指定了不正确的选择器。只需更新它,以便选择器名称与按钮目标中的某个操作的名称相匹配。请记住:拼写和个案数量。

相关问题