7

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

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

4

1 回答 1

13

前缀已经向 Objective-C 运行时公开了该IBAction方法,因此无需另外使用@objc.

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

于 2018-03-10T14:16:08.790 回答