【问题标题】:Getting "unrecognized selector error" in the first function I've ever built在我构建的第一个函数中出现“无法识别的选择器错误”
【发布时间】:2019-05-23 04:35:12
【问题描述】:

我开始学习 iOS 并遵循斯坦福课程,在那里我们构建了卡片翻转功能。 https://www.youtube.com/watch?v=71pyOB4TPRE&list=PLPA-ayBrweUzGFmkT_W65z64MoGnKRZMq

在我尝试运行我的应用程序的第 45 分钟时,我收到“无法识别的选择器发送到实例”

该项目是单页项目,由于操作系统限制,我正在使用 XCode 8.2.1(不确定 swift 版本)运行。

当我调试时,我发现错误来自我没有编写的部分代码: 在class AppDelegate: UIResponder, UIApplicationDelegate 上(这是调试器断点)。

我写的代码和视频里的一模一样。

编辑

这是flipCard方法加上调用它的touchCard方法(基本上是整个代码)

 @IBAction func touchCard(_ sender: UIButton) {

        flipCard(withEmoji: "????", on: sender)
    }
    func flipCard (withEmoji emoji: String, on button: UIButton){

        if button.currentTitle == emoji {
            button.setTitle("", for: UIControlState.normal)
            button.backgroundColor = #colorLiteral(red: 0, green: 0, blue: 0, alpha: 1)
        } else {
            button.setTitle(emoji, for: UIControlState.normal)
            button.backgroundColor = #colorLiteral(red: 1, green: 1, blue: 1, alpha: 1)
        }
    }

将按钮附加到代码时,我使用了以下内容: 连接:行动 类型:UIButton 名称:触摸卡 事件:TouchUpInside 参数:发件人

这是收到的错误消息:

2019-05-22 23:21:09.522 浓度2[2100:5096626] -[Concetration2.ViewController flipCard:]:无法识别的选择器发送到实例 0x7f9933e01fc0 (lldb)

谢谢

【问题讨论】:

  • 显示完整的错误信息。这是一个已知错误。
  • 2019-05-22 22:31:51.888 Concetration2[2045:5063104] -[Concetration2.ViewController flipCard:]:无法识别的选择器发送到实例 0x7ff08be07bc0 (lldb)
  • 我们不打算观看视频,请将任何相关代码作为文本添加到您的问题中。
  • 使用该日志编辑您的问题。另外,告诉我们flipCard:的代码。它是一个称为事件动作的按钮吗?它是如何声明的?您是否使用了 addAction/Selector/Target?您是否仅通过 Storyboard 连接它?
  • 修复你的故事板。似乎与方法 flipCard(_:) (带有一个参数!)的连接不再存在。

标签: ios swift


【解决方案1】:

你必须确保你的按钮和它的功能之间的连接是正确的,抛出下图: 确保每个红色箭头都正确

【讨论】:

    猜你喜欢
    • 2012-04-04
    • 1970-01-01
    • 2020-01-07
    • 1970-01-01
    • 2019-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多