故事板连接检查器中的方法名称已更改

Method name gets changed in storyboard connections inspector

我使用 Xcode 8 中的 Swift 2.3 创建了一个按钮方法。比方说

 @IBAction func testAction(sender: UIButton) {
     print("\(sender.tag)");
 }

但是在故事板编辑器的 Connections inspector 中它显示为 testActionWithSender:,我知道这不是正确的方法名称,但我对此没有任何问题,直到它因
[ 崩溃=17=]

[TestProject.ViewController testActionWithSender:]: unrecognized selector sent to instance 0x7ff3f3e050e0

点击按钮。

那么为什么 Connections inspector 中的方法名称会发生​​变化,我该如何解决?

我遇到了同样的问题。我找到的唯一解决方法是删除连接,然后将按钮操作拖到新的 Action 方法中。

如果您 link 将您的按钮更改为现有按钮,它会崩溃

通过使用此解决方法,您可以添加现有操作,也可以将多个按钮连接到一个操作。

我认为 Xcode8 中存在错误。您可以通过将 sender 更改为 _ sender

来将 multiple/Single 按钮添加到单个操作/功能

例如:- 普通按钮

   @IBAction func huu(sender: UIButton) {

   }

您不能向此操作添加多个按钮或单个按钮,您需要像这样简单地更改,然后您可以通过使用从情节提要中拖动和连接来添加多个按钮。

 @IBAction func huu(_ sender: UIButton) {

 }

连接 IBOutlets 后 Xcode 将显示如下警告:-

要删除此警告,只需从 action/function 中删除 _ 符号。确保在连接您的 IBOutlets

后删除 _

希望对您有所帮助! :)