NSNumber和NSTimeInterval

XMa*_*all 6 iphone objective-c nsdate ios

我试图以毫秒为单位获得系统时间.为此,我宣布:

 NSNumber *createdTimeInMilliSec; //in class declaration
Run Code Online (Sandbox Code Playgroud)

在我的一个实例函数中,我在做:

 self.createdTimeInMilliSec= ([NSDate timeIntervalSinceReferenceDate]*1000); //ERROR: incompatible type for argument 1 of 'setCreatedTimeInMilliSec:'
Run Code Online (Sandbox Code Playgroud)

timeIntervalSinceReferenceDate返回NSTimeInterval,所以如何将其转换为NSNumber?或者我做错了什么?

小智 24

NSTimeInterval按类型定义如下:typedef double NSTimeInterval;.

要创建一个NSNumber,使用:

NSNumber *n = [NSNumber numberWithDouble:yourTimeIntervalValue];
Run Code Online (Sandbox Code Playgroud)

  • `NSNumber*n = @(yourTimeIntervalValue);`也可以工作,看起来更漂亮. (2认同)