【问题标题】:Any differences between @objc and IBAction when programmatically creating UIButton event?以编程方式创建 UIButton 事件时@objc 和 IBAction 之间有什么区别?
【发布时间】:2018-03-10 14:09:50
【问题描述】:

当从 Storyboard 中的 UIButton 创建事件处理程序时,Swift 在 func 之前添加 @IBAction。当以编程方式将事件添加到 UIButtonfunc 时,Swift 给出错误并说我需要在我的方法前面添加 @objc,但是当我添加 @IBAction 时,它也会编译。

在向我的UIButton以编程方式添加事件时,我应该使用 2 和哪一个之间有区别吗?

【问题讨论】:

    标签: swift ibaction target-action


    【解决方案1】:

    IBAction 前缀已经将方法暴露给了 Objective-C 运行时,因此无需额外添加前缀@objc

    由于 IB 代表 Interface Builder,因此在以编程方式创建按钮时无需使用它。它所做的一切(除了将方法暴露给 Objective-C 之外)就是让 Interface Builder 将函数列为连接检查器中的操作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-06
      • 2014-03-17
      • 1970-01-01
      相关资源
      最近更新 更多