【发布时间】:2013-06-20 10:31:57
【问题描述】:
我已将 NSTimeInterval 转换为 NSNumber,以便将其存储在 NSUserDefaults 中。我使用了这样的 numberWithDouble 方法:
NSNumber *savedTime = [NSNumber numberWithDouble:timeInterval];
我正在另一个视图中检索信息,但遇到了问题。该数字似乎不想正确转换。我知道号码在结转,因为我可以查看此标签中的号码,并且它正确显示:
timeLabel.text = [NSString stringWithFormat:@"%f", [[[userDefaults objectForKey:groupTitleForReference] objectForKey:@"time"] doubleValue]];
但是当我将间隔设置为双精度值时,它不起作用。我正在使用这个:
interval = [[[userDefaults objectForKey:groupTitleForReference] objectForKey:@"time"] doubleValue];
所有变量都在标头中正确声明。知道为什么它不起作用吗?
谢谢,
大卫
【问题讨论】:
-
在什么意义上“它不起作用”,确切地说?
-
什么“不起作用”?你能告诉我们
interval在那一行之后是什么吗? -
您能否准确说明您的转换问题是什么?因为“不起作用”是不言自明的
-
不起作用,因为它试图读取为 0。我已检查以评估该值是什么数字。如果值为 0,则会发出警报。警报立即消失。
-
Multimer[27707:c07] 6.000000 是它在我的 nslog 中的显示方式,使用 %f 作为格式说明符
标签: objective-c type-conversion nsnumber nstimeinterval