這可能會給我一大堆downvotes,但是啊。我記得我來自AS3背景。從Obj-c中減去一個數字
就這樣,我正在編碼一個顯示自從開始播種或開始播種以來已經播放了多長時間的畫面。我有我的timeToCompletion價值,我timeSincePlanting值,這樣的..
//get seconds since planting/construction start
NSDate *now = [NSDate date];
NSTimeInterval secondsSincePlantingInterval = [now timeIntervalSinceDate:plantingDate];
//convert to Number
NSNumber *secondsSincePlanting = [NSNumber numberWithDouble:secondsSincePlantingInterval];
//get template object
NSDictionary *templateObject = [self getTemplate:kingdomObject];
//get how long I should take (in seconds)
NSNumber *timeToCompletion = [templateObject objectForKey:@"constructionTime"];
而且一切都將swimingly直到我試圖做到這一點...
NSNumber *timeLeft = [NSNumber numberWithInt:0];
timeLeft = timeToCompletion - secondsSincePlanting;
從AS3未來是我的本能,但現在我意識到這可能只是試圖從指針中減去指針?
所以第一個問題是,我怎麼能用2個NSNumbers做到這一點?如果這是不可能的,我不得不使用NSDecimalNumber,我只是將一切都轉換爲NSDecimalNumber,並做這樣的減法?唯一的事情是我只需要整數,因爲我代表秒,不需要進入小數位等等。