在iOS SDK中,我发现[[NSDate date]timeIntervalSince1970]
返回NSTimeInterval
,内部为双倍。理想情况下不应该长久吗?
答案 0 :(得分:0)
NSTimeInterval is always specified in seconds; it yields sub-millisecond precision over a range of 10,000 years.
NSTimeInterval表示时间维度值,该值并非始终为十进制数。所以NSTimeInterval也必须是小数。
在64位系统中 CGFloat 和 long long has the same size - 8个字节。
答案 1 :(得分:0)
选择NSTimeInterval
的表示是精确性和易用性之间的权衡。
挑选long long
将需要使用除秒之外的时间单位 - 例如,毫秒或微秒,然后提供用于从间隔中提取时间单位的函数或宏。
可可设计师追求易用性,要求始终在几秒钟内指定NSTimeInterval
。这使您在10,000年的范围内具有亚毫秒精度,这对于大多数应用来说已经足够了。