代码之家  ›  专栏  ›  技术社区  ›  Bassem

NSSelectorFromString和Selector结构

  •  0
  • Bassem  · 技术社区  · 6 年前

    我有一个问题,NSSelectorFromString和Selector有什么不同 如果我使用选择器创建选择器

     let bSelector = Selector("registerRemoteNotificationWithApplication:")
     let cSelector = Selector(stringLiteral: "registerRemoteNotificationWithApplication:")
    

    我收到警告

    当使用NSSelectorFromString时

     let aSelector = NSSelectorFromString("registerRemoteNotificationWithApplication:")
    

    即使函数是用/不用@objc声明的

      @objc func registerRemoteNotification(application:UIApplication) {
    
    
    }
    
    1 回复  |  直到 6 年前
        1
  •  0
  •   Gereon    6 年前

    从Swift 3开始,您应该使用 #selector() 为了这个。鉴于

    class Foo: NSObject {
        @objc func registerRemoteNotification(application:UIApplication) { }
    }
    

    let selector = #selector(Foo.registerRemoteNotification(application:))