Iphone 将数字字符串转换为NSTimeInterval

Iphone 将数字字符串转换为NSTimeInterval,iphone,c,objective-c,Iphone,C,Objective C,我知道我一定是把这件事复杂化了,因为它的NSTimeInterval只是一个双倍,但我似乎不能很好地完成这件事,因为我很少接触objective c。情况如下: im拉入应用程序的数据包含两个值,startTime和endTime,它们是以毫秒为单位的历元时间。我想要保存这些值的变量是 NSTimeInterval*启动; NSTimeInterval*结束 我决定将它们存储为NSTimeInterval,但我想也许我应该将它们存储为double,因为不需要NSTimeInterval,因为比较

我知道我一定是把这件事复杂化了,因为它的NSTimeInterval只是一个双倍,但我似乎不能很好地完成这件事,因为我很少接触objective c。情况如下:

im拉入应用程序的数据包含两个值,startTime和endTime,它们是以毫秒为单位的历元时间。我想要保存这些值的变量是
NSTimeInterval*启动;
NSTimeInterval*结束

我决定将它们存储为NSTimeInterval,但我想也许我应该将它们存储为double,因为不需要NSTimeInterval,因为比较只需使用原语即可。无论哪种方式,我都想知道我在以下步骤中缺少了什么,在该步骤中,我尝试将字符串转换为NSTimeInterval:

    tempString = [truckArray objectAtIndex:2];
    tempDouble = [tempString doubleValue];

现在它被安全地存储为double,但我无法将该值放入NSTimeInterval。如何做到这一点?谢谢

您不必投,您只需写下以下内容:

NSTimeInterval timeInterval = [[truckArray objectAtIndex:2] doubleValue];
强制转换是不必要的,额外的强制转换只会使您的源代码在将来更难更新和更改,因为您已经告诉编译器不要对强制转换的表达式进行类型检查

我想要保存这些值的变量是
NSTimeInterval*start;NSTimeInterval*结束

小心,
nstimeinvval
是原语C类型的typedef,它不是Objective-C对象。我认为在这个场景中,您实际上不需要指向这些类型的指针,所以您应该这样声明它们:

NSTimeInverval start;
NSTimeInterval end;
可能会出现错误,因为在C中,无法将浮点类型转换为指针类型