首页 > 解决方案 > 我们如何在 Swift 4.0 的协议扩展中定义选择器方法

问题描述

我想运行一个计时器以在视图控制器上显示一条 toast 消息,但我收到错误:@objc 只能用于类成员、@objc 协议和类的具体扩展

@objc protocol Test: class {
      var name: String { get }
      func showToastMessage()
 }

extension Test {
     var timer: Timer {
            return Timer.scheduledTimer(timeInterval: 3.0, target: self, selector: #selector(showToastMessage), userInfo: nil, repeats: false)
     }

     @objc func showToastMessage() {

     }
}

标签: iosswiftprotocolsextension-methods

解决方案


推荐阅读