NSNumber 和 NSTimeInterval
我正在尝试获取以毫秒为单位的系统时间。 为此,我已声明:
NSNumber *createdTimeInMilliSec; //in class declaration
在我的一个实例函数中,我执行以下操作:
self.createdTimeInMilliSec= ([NSDate timeIntervalSinceReferenceDate]*1000); //ERROR: incompatible type for argument 1 of 'setCreatedTimeInMilliSec:'
timeIntervalSinceReferenceDate
在 NSTimeInterval
中返回,那么如何将其转换为 NSNumber
?或者我做错了什么?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
NSTimeInterval
的类型定义如下:typedef double NSTimeInterval;
。要创建
NSNumber
,请使用:NSTimeInterval
is typedefed as follow :typedef double NSTimeInterval;
.To create a
NSNumber
with, use :我不确定其他答案是否清楚 - 但 NSTimeInterval 实际上只是一个 typedef'ed double。您可以通过执行
[NSNumber numberWithDouble:timeInterval]
或更简洁的@(timeInterval)
从中获取 NSNumber。I'm not sure it's clear from the other answers - but NSTimeInterval is actually just a typedef'ed double. You can get an NSNumber from it by doing
[NSNumber numberWithDouble:timeInterval]
or even more succinctly@(timeInterval)
.NSTimeInterval 是 double 的 typedef。因此,使用
NSNumber
的便捷构造函数numberWithDouble:
如下:NSTimeInterval is a typedef for a double. So use
NSNumber
's convenience constructornumberWithDouble:
as follows:由于 NSTimeInterval 是双精度,你可以这样做
As NSTimeInterval is a double, you could do