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

时间:2016-09-21 07:49:46

标签: ios swift xcode8 swift2.3

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

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

但是在Connections inspector的情节提要编辑器中它显示为testActionWithSender:,我知道这不是正确的方法名称,但我没有问题,直到它崩溃为

  

[TestProject.ViewController testActionWithSender:]:无法识别的选择器发送到实例0x7ff3f3e050e0

按下按钮

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

2 个答案:

答案 0 :(得分:3)

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

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

将多个/单个按钮添加到单个操作/功能

例如: - 普通按钮

   @IBAction func huu(sender: UIButton) {

   }

您无法在此操作中添加多个按钮或单个按钮,只需更改此类操作,然后您可以使用拖动和连接故事板添加多个按钮。

 @IBAction func huu(_ sender: UIButton) {

 }

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

enter image description here

要删除此警告,请从操作/功能中删除_符号。确保在连接IBOutlets后删除_

希望这会对你有所帮助! :)

答案 1 :(得分:1)

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

如果您将按钮链接到现有按钮,则会崩溃