2016-01-27 7 views
-1

Я делаю калькулятор и решил добавить еще несколько операций, чем стандарт 4. При попытке реализовать sin и cos я столкнулся с следующей проблемой.Как реализовать sin() в быстром калькуляторе?

@IBAction func evaluate(sender: AnyObject) { 
    secondNumber = Int(Screen.text!)! 
    if operation == "+" { 
     result = firstNumber + secondNumber 
    } else if operation == "-" { 
     result = firstNumber - secondNumber 
    } else if operation == "X" { 
     result = firstNumber * secondNumber 
    } else if operation == "/" { 
     result = firstNumber/secondNumber 
    } else if operation == "%" { 
     result = firstNumber % secondNumber 
    } else if operation == "^" { 
     result = firstNumber^secondNumber 
    } else if operation == "Sin" { 
     result = sin(degToRad(Double(firstNumber))) 
    } 

где degToRad определяется как

func degToRad(degrees: Double) -> Double { 
// M_PI is defined in Darwin.C.math 
return M_PI * 2.0 * degrees/360.0 

}

Я получаю следующее сообщение об ошибке на грех линии.

«Неоднозначная ссылка на член„грех“,»

Почему это встречающееся и как я могу идти об использовании греха? Я импортировал Дарвина, поэтому я не верю, что это проблема, я все еще очень новен, чтобы быстро, поэтому я уверен, что делаю что-то простое, но любая помощь будет высоко оценена.

+2

вы пытались self.sin? (может быть проблема с областью) – DeyaEldeen

+0

как ваш результат объявляется? – user3441734

ответ

1

Если, как @zazu предполагает, что это проблема обзорное, вы можете уточнить область видимости с:

result = Foundation.sin(...) 
+0

'Darwin.sin' также работает, но' Foundation.sin' будет работать независимо от платформы, где 'Darwin.sin', вероятно, не будет работать на платформах, отличных от Дарвина, то есть Linux и Windows. –

+0

Также верно, что нам нужно знать, как объявляется «результат». К сожалению, OP повесил трубку ... – matt