这可能会给我一大堆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,并做这样的减法?唯一的事情是我只需要整数,因为我代表秒,不需要进入小数位等等。