这可能会给我很多反对票,但是啊。请记住,我来自 AS3 背景。
没错,我正在编写代码,显示自从种植/施工开始以来已经有多久了。我有我的 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"];
在我尝试这样做之前,一切都在顺利进行......
NSNumber *timeLeft = [NSNumber numberWithInt:0];
timeLeft = timeToCompletion - secondsSincePlanting;
哪个来自 AS3 是我的本能,但现在我意识到这可能只是试图从指针中减去一个指针?
所以第一个问题是,我怎样才能用 2 个 NSNumbers 做到这一点?如果这是不可能的并且我必须使用 NSDecimalNumber,我是否只需将所有内容都转换为 NSDecimalNumber 并像那样做减法?唯一的问题是我只需要整数,因为我代表秒,不需要进入小数位等等。