在我的 Swift 应用中调用 NSTimer 函数的选择器无法识别

unrecognized selector for calling a function from NSTimer in my Swift app

我应该如何在 swift 中声明一个函数以便我可以使用 NSTimer。我目前收到错误:

'-[MyClass.MyViewController displayOfflineTimerMessage]: unrecognized selector

我尝试在我的函数前面添加 @objc 和 dynamic 但都没有用。

   func sendOfflineSystemMessageIfNeccesary(username:String) {

        var debounceTimer = offlineNotificationDebounceList["username"];
        if let timer = debounceTimer {
            //todo: log warning message since we should never get here
            timer.invalidate()
        }

        debounceTimer = NSTimer(timeInterval: debounceTimeInSeconds, target: self, selector: Selector("displayOfflineTimerMessage"), userInfo: username, repeats: false)
        NSRunLoop.currentRunLoop().addTimer(debounceTimer!, forMode: "NSDefaultRunLoopMode")

    }

    @objc func displayOfflineTimerMessage(timer:NSTimer)
    {
        if let username:String = timer.userInfo as? String {
            offlineNotificationDebounceList.removeValueForKey(username)
            sendConnectionMessage(username, msg: username + " has left")
        }

    }

您可以只使用该行

debounceTimer = NSTimer(timeInterval: debounceTimeInSeconds, target: self, selector: "displayOfflineTimerMessage:", userInfo: username, repeats: false)