ios - Storyboard连接检查器中的方法名称发生更改

标签 ios swift xcode8 swift2

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

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

但是在 Storyboard编辑器的连接检查器中,它显示为testActionWithSender:,我知道这不是正确的方法名称,但我对此没有任何问题,直到它崩溃

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

点击按钮。

那么为什么连接检查器中的方法名称会发生​​变化以及如何修复它?

最佳答案

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

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

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

例如:- 普通按钮

   @IBAction func huu(sender: UIButton) {

   }

您无法向此操作添加多个按钮或单个按钮,您需要像这样简单地进行更改,然后您可以通过从 Storyboard拖动和连接来添加多个按钮。

 @IBAction func huu(_ sender: UIButton) {

 }

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

enter image description here

要删除此警告,只需从操作/函数中删除 _ 符号即可。确保在连接 IBOutlet 后删除 _

希望这对您有帮助! :)

关于ios - Storyboard连接检查器中的方法名称发生更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39610504/

相关文章:

ios - 今天扩展不在模拟器中显示我的应用程序图标

ios - SpriteKit iPhone/iPhoneX/iPad 尺寸问题

ios - 保持 NSDates 时区独立

ios - 我应该将 Core Data 用于移动购物应用程序吗?

ios - UICollectionView ImageView 问题

swift3 - Swift 3 中删除了 preferredStatusBarStyle 吗?

ios - IBInspectable 属性未显示在 Xcode 8.3.3 中

ios - Xcode 8:iOS应用程序存档的pkg或mpkg应用程序提交验证错误

ios - 在 iOS 应用程序的一个 View 中使用 Unity3D

ios - 如何在 iOS 8 的全屏模式下在 UIWebView Player 中接收通知?