我使用Swift 2.3
中的Xcode 8
为按钮创建了一个方法。让我们说
@IBAction func testAction(sender: UIButton) {
print("\(sender.tag)");
}
但是在Connections inspector
的情节提要编辑器中它显示为testActionWithSender:
,我知道这不是正确的方法名称,但我没有问题,直到它崩溃为
按下按钮[TestProject.ViewController testActionWithSender:]:无法识别的选择器发送到实例0x7ff3f3e050e0
。
那么为什么方法名称在Connections inspector
中会发生变化,我该如何解决呢?
答案 0 :(得分:3)
通过使用此解决方法,您可以添加现有操作,还可以将多个按钮连接到单个操作。
我认为Xcode8中存在一个错误。您可以通过将sender
更改为_ sender
例如: - 普通按钮
@IBAction func huu(sender: UIButton) {
}
您无法在此操作中添加多个按钮或单个按钮,只需更改此类操作,然后您可以使用拖动和连接故事板添加多个按钮。
@IBAction func huu(_ sender: UIButton) {
}
连接IBOutlets后,Xcode会显示如下警告: -
要删除此警告,请从操作/功能中删除_
符号。确保在连接IBOutlets后删除_
希望这会对你有所帮助! :)
答案 1 :(得分:1)
我遇到了同样的问题。我找到的唯一解决方法是删除连接,并将按钮操作拖到新的Action方法。
如果您将按钮链接到现有按钮,则会崩溃