Ste*_*hen 2 iphone nstimeinterval
我正在尝试将timeInterval与整数值进行比较,因此我尝试将timeInterval转换为整数并进行比较.但是我收到错误'无法转换为指针类型':
NSTimeInterval timeInterval = [startTime timeIntervalSinceNow];
int intSecondsElapsed = [timeInterval intValue]; // Error here !!!!
if ([counterInt != intSecondsElapsed])
{
// Do something here...
}
Run Code Online (Sandbox Code Playgroud)
怎么会这样做?
编辑:包括与执行错误相关的更多详细信息.
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
//[formatter setDateFormat:@"HH:mm:ss"];
[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
startTime = [NSDate date];
[formatter release];
if ([deviceType isEqualToString:@"iPhone 4"]||[deviceType isEqualToString:@"iPhone Simulator"])
{
int intSecondsElapsed = (int)[startTime timeIntervalSinceNow];
if (counterInt != intSecondsElapsed)
{
counterInt = intSecondsElapsed;
}
}
Run Code Online (Sandbox Code Playgroud)
NSTimeInterval定义为double,因此如果要将其转换为int,则可以进行简单的类型转换
NSTimeInterval timeInterval = [startTime timeIntervalSinceNow];
int intSecondsElapsed = (int)timeInterval;
Run Code Online (Sandbox Code Playgroud)
或者干脆
int intSecondsElapsed = (int)[startTime timeIntervalSinceNow];
Run Code Online (Sandbox Code Playgroud)
编辑:如果您startTime在不同的函数中初始化并使用您的变量,则需要保留它.[NSDate date]返回自动释放的对象,使其在创建范围之外变为无效.为了方便起见,使用retain属性声明属性startTime并使用它创建它
self.startTime = [NSDate date];
Run Code Online (Sandbox Code Playgroud)
并且不要忘记在类dealloc方法中释放它.
| 归档时间: |
|
| 查看次数: |
2120 次 |
| 最近记录: |