2015-03-15 4 views
-1

У меня есть два NSNumbers, которые я хочу разделить, но в последней строке кода я получаю ошибку: «Невозможно вызвать«/»с помощью списка аргументов типа (@Ivalue NSNumber, @ Ivalue NSNumber)» «Невозможно разделить два NSNumbers в swift?

var firstnumber: NSNumber = object["numberone"] as NSNumber 
var secondnumber: NSNumber = object["numbertwo"] as NSNumber 
var calculated: NSNumber = firstnumber/secondnumber 

Может ли кто-нибудь помочь мне с этим?

ответ

5

NSNumber это объект, который содержит значение, которое может быть retreived как различные типы, используя его свойства, такие как floatValue, integerValue и так далее. NSNumber

Так делая nsnumber1/nsnumber2 бы как делать uiview1/uiview2

0

Я предполагаю, что ваш number1 и number2 являются Float или Double, взять Float в качестве примера:

var caculated = firstnumber.floatValue/secondnumber.floatValue as NSNumber 
1

Если вам нужно выполнить деление на NSNumber вам нужно использовать NSDecimalNumber.

Так что вам нужно выполнять деление следующим образом:

let object = ["numberone" : "33", "numbertwo" : "33"] 
var firstnumber: NSDecimalNumber = NSDecimalNumber(string: object["numberone"]) 
var secondnumber: NSDecimalNumber = NSDecimalNumber(string: object["numbertwo"]) 
var calculated: NSDecimalNumber = firstnumber.decimalNumberByDividingBy(secondnumber)