我想创建一些计时器,它会花费时间来触发不同类型的函数,但到目前为止我还没有运气。我假设我应该使用NSDate
对象,到目前为止我已经这样做了。
我已经创建了几个函数
-(void)startTime:(id)sender
{
starttime = [NSDate date];
**[starttime retain];**
NSLog(@"show me the starttime %f", starttime);
}
-(void)endTime:(id)sender
{
endtime = [NSDate date];
**[endtime retain];**
NSLog(@"show me the endtime %f", endtime);
}
-(void)timeInterval:(id)sender
{
NSTimeInterval interval = [ starttime timeIntervalSinceDate:endtime];
NSLog(@"let me see the timeinterval between now and then %f", interval);
}
例如,当我按下播放电影的播放按钮时
我将放置starttime
函数
-(void)playMovie:(id)sender
{
[self startTime:(id)sender];
[self callMovie];
}
当我按下电影的停止按钮时,stopfunction
将被调用timeInterval
功能
-(void)stopMovie:(id)sender
{
[self endTime:(id)sender];
[self myMovie];
[self timeInterval:(id)sender];
}
然而它似乎不起作用。如果我在3秒后按下停止按钮,我会假设我的
函数timeInterval
将输出3秒。不幸的是无济于事。
发生了什么,我做错了什么?
修改
感谢您的回复。 我在代码片段中做了一些调整。
然而,我似乎犯了一个至关重要的错误。我没有保留endtime
和starttime
个变量,这似乎解决了我的问题。
答案 0 :(得分:1)
使用示例计时功能和睡眠3的简单程序产生-3.000087
答案 1 :(得分:0)
按下停止按钮会发生什么?如果没有任何反应,请检查您的IBOutlets,该操作可能与该方法无关。
答案 2 :(得分:0)
-(IBAction)stopMovie:(id)sender {
[self endTime:(id)sender];
[self myMovie];
[self timeInterval:(id)sender];
}
你不应该调用endTime而不是stopTime吗?