Я создаю простой Metronome WatchApp. Я использую NSTimer с .scheduledTimerWithTimeInterval, и у меня есть сообщение об ошибке дополнительный аргумент «селектор» в вызовеSwift: дополнительный аргумент при вызове с плановымTimerWithTimeInterval
Спасибо за ваши ответы
func playBeat() {
if(self.State == true) {
self.State == false
[labelPlayPause.setTitle("Pause")]
} else {
self.State == true
[labelPlayPause.setTitle("Play")]
}
BPMValue = 10
var BPMInt:Int = Int(BPMValue)
let value = "\(BPMInt) BPM"
labelBPM.setText(value)
let aSelector: Selector = "playBeat"
dispatch_async(dispatch_get_main_queue(), {
NSTimer.scheduledTimerWithTimeInterval(60/self.BPMValue, target:self, selector: aSelector, userInfo:nil, repeats:false)
})
}
Я не unserstand. BPMValue не Int, а float. Я конвертирую BPMValue в Int для отображения в Label (BPMInt). Я использую в NSTimer BPMValue как float, нет? –
Нет, NSTimeInterval - это типAlias for Double, который не эквивалентен Float, поэтому вы не можете передать ему float. –
Итак, вам нужно добавить либо Double, либо NSTimeInterval, но не Float. –