发送到实例的无法识别的选择器:Swift 2 NSTimer设置

时间:2016-03-08 03:03:08

标签: swift nstimer

我已阅读其他帖子。我已经阅读了文档。我已经阅读了几乎所有关于这个问题我可以得到的东西,但它仍然存在。需要说明的是,如果我想将定时器捕获为接收函数中的参数,则只会出现此问题。

这是错误:

2016-03-07 18:26:29.000 AlarmClockAI[12286:3807622] -[AlarmClockAI.Alarm playAlarm]: unrecognized selector sent to instance 0x7fd0936289e0

我有一个派生自NSObject的类。在那个课程中,我正在创建一系列这样的计时器:

timer = NSTimer(fireDate: fireDate, interval: 5.0, target: self, selector:      Selector("playAlarm:"), userInfo: ["UUID":UUID], repeats: false)
NSRunLoop.currentRunLoop().addTimer(timer!, forMode: NSDefaultRunLoopMode)

func playAlarm(timer: NSTimer) {}

我仍然收到无法识别的选择器错误。

我尝试过的其他变体:

NSTimer(fireDate: fireDate, interval: 5.0, target: self, selector:"playAlarm:", userInfo: ["UUID":UUID], repeats: false)

同样的错误。

其他说明:

  • 我正在运行Swift 2.1.1
  • 我意识到我不需要@objc标签,但我也尝试过。
  • Clean + build + restart没有帮助。
  • FML

1 个答案:

答案 0 :(得分:-1)

唉。对不起大家。我找到了答案:我有多种创建计时器的方法,而我正在查找错误的方法。