2014-11-01 2 views
3

Я пытаюсь получить текущее время с определенной точки с начальной точки приложения.Swift- Невозможно вызвать '-' с помощью списка аргументов типа (NSNumber, NSTimeinterval)

var startTime = NSDate.timeIntervalSinceReferenceDate() 
    var currentTime: NSNumber = 0 

    for var i = 0; i < 10000; i++ { 
     if i == 99 { 
      currentTime = NSDate.timeIntervalSinceReferenceDate() 
      println(i) 
     } 

    } 
    var elapsedTime = currentTime - startTime 
    println(Double(elapsedTime)) 
} 

и я получаю эту ошибку:

Cannot invoke '-' with an argument list of type '(@!Value NSNumber, @!Value NSTimerinerval) 

я понимаю, что это что-то с типом я jutt не могу понять это, какие-либо предложения?

ответ

2

startTime является NSTimeInterval, что это не то же самое, что и NSNumber, что то, что вы объявили currentTime быть в верхней части этой функции.

Изменить декларацию currentTime к:

var currentTime: NSTimeInterval = 0 
+1

работает как шарм, спасибо Champ! –

+0

Ошибка 'Can not invoke 'yourMethodName' с аргументом list type ...' также будет отображаться при попытке вызвать метод экземпляра из метода класса. – Sakiboy

Смежные вопросы