2017-01-02 68 views
-3
let Rating = self.currentPerson.Rating // This is a NSNumber 

Rating -= 1 

我試圖做的吸收值,是採取從Ratingx value,然後打印new value of Rating從NSNumber的

我該如何正確地做到這一點?

+0

這不會編譯:*二元運算符' - ='不能應用於'NSNumber'和'Int'類型的操作數* – vadian

回答

2

要你願意,你需要編寫自己的函數來處理它的方式執行此操作:

infix operator -= 

func -=(lhs:inout NSNumber, rhs:Double) { 
    lhs = NSNumber(value: lhs.doubleValue - rhs) 
} 

您還需要在方案中使用的變量,而不是一個常數:

var Rating = self.currentPerson.Rating // This is a NSNumber 

Rating -= 1 

這樣值可以改變。