【问题标题】:Click button getting error : unrecognized selector sent to instance - IOS Swift 3单击按钮出现错误:无法识别的选择器发送到实例 - IOS Swift 3
【发布时间】:2017-08-30 20:23:57
【问题描述】:

单击按钮出现错误:无法识别的选择器发送到实例 - IOS Swift 3

import UIKit
class Login: UIViewController {
override func viewDidLoad() {
    super.viewDidLoad()

    // Do any additional setup after loading the view.
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}

@IBAction func LoginButton(_ sender: UIButton) {
    print("Login button")
}}

错误 2017-04-05 14:55:56.965 设计 [3510:67974] Interface Builder 文件中的未知类登录。 2017-04-05 14:56:00.084 设计[3510:67974]-[UIView LoginButton:]:无法识别的选择器发送到实例 0x7ffa2f70c9b0 2017-04-05 14:56:00.093 设计[3510:67974] * 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[UIView LoginButton:]:无法识别的选择器发送到实例 0x7ffa2f70c9b0” * 首先抛出调用栈: ( …… ) libc++abi.dylib:以 NSException 类型的未捕获异常终止

图片: 我是IOS应用开发的初学者

【问题讨论】:

  • 您是否已将您的课程分配给您的视图控制器?
  • 你的目标无效
  • 尝试删除该操作并重新添加。
  • @iPeter 是的,我做到了,它在我的 Main.storyBoard 中的第二个屏幕
  • @Sneha 我做了很多次。

标签: ios iphone swift swift3


【解决方案1】:

当您选择按钮here is my weather app 时,我通过转到“显示连接检查器”解决了这个问题。从那里的按钮中删除任何连接并重新开始!

【讨论】:

    【解决方案2】:

    我解决了感谢大家,问题是当我建立连接时 - 在对象选择上有 2 个选项第一个 VC 控制器“登录”,第二个只有“登录”(默认选择)。我只是将默认的“登录”更改为 VC 的“登录”。

    【讨论】:

      【解决方案3】:

      您必须检查类名和模块。如果模块显示在占位符或空。单击模块复选框,下拉菜单将显示您的应用程序名称,现在您将选择该选项。并提供故事板 ID。现在运行您的编码。

      【讨论】:

      • 我遇到了这个问题。未选择该模块。选择它为我解决了这个问题。
      • 超级快乐的编码
      【解决方案4】:

      你的问题是你的故事板中没有包含导航控制器,你正试图从 segue 推送。但是您已经发布了按钮操作的代码。首先将导航控制器添加到您的故事板。从登录按钮到任何情节提要中删除手动 segue。

      如果您不知道如何添加导航栏,请按照图片操作:

      【讨论】:

      • 我们可以使用 present ,检查屏幕截图它显示类名作为手动代替自动
      • @Anbu.Karthik 有关更多信息,在我的 Main.storyborad 中有 2 个屏幕点击第一个转到第二个(登录屏幕),经过一些逻辑成功的条件。因此,首先形成第二个工作正常,但在第二个屏幕(登录)按钮操作不起作用。
      • @rkkanojia7 - 这可以附加你的项目吗
      • @Anbu.Karthik,我可以在你的图片中看到你没有使用 present 你正在使用 push。请检查您的故事板
      • @BasirAlam - 哦,对不起,但问题不在 segue,连接问题
      【解决方案5】:

      您很可能忘记设置自定义视图控制器类以匹配您在情节提要中创建的类

      如果您已经设置了自定义视图控制器类而不是重置它并删除 IBAction 连接并重新连接它。

      【讨论】:

        【解决方案6】:

        尝试重新连接@IBAction方法

        @IBAction func LoginButton(_ sender: UIButton) {
                print("Login button")
        }
        

        如果它不起作用,请显示您的 Stroyboard 图像和您使用按钮完成的连接

        【讨论】:

        • 你在 cmets 中看到过这个 yes i did ,its 2nd screen
        • 添加图片请查看
        • 对于实验断开此方法并添加新方法,然后检查它是否有效
        猜你喜欢
        • 2014-08-26
        • 1970-01-01
        • 2018-07-20
        • 2021-01-04
        • 2018-04-24
        • 1970-01-01
        • 2017-01-23
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多