我这里有这些功能,会记录起点和按下按钮之间的时间来停止时间,然后最后打印记录的时间长度:
-(void)informToPress
{
textLabel.text = @"Test, press the button";
//begin record and end record on button press
startDate = [[NSDate alloc]init];
}
-(IBAction)stopTime{
stopDate = [[NSDate alloc]init];
textLabel.text = [NSString stringWithFormat:@"Time : %f", [stopTimer timeIntervalSinceDate:startTimer]];
}
但我在哪里:
textLabel.text = [NSString stringWithFormat:@"Time : %f", [stopTimer timeIntervalSinceDate:startTimer]];
我需要将它放在不同的视图中,因此放在不同的.m文件中!我怎么能在完全不同的文件中使用这行代码?由于新文件/视图不知道值是什么或textLabel。
答案 0 :(得分:0)
您可以使用属性startTimer和stopTimer实现名为dateManager的单例。
您只会创建一个dateManager实例,因此它与代码中任何位置的属性值相同。
或者您也可以在一个.h文件中创建(更容易):
static NSDate *startTimer = nil;
static NSDate *stopTimer = nil;
在需要时给他们提供值,但不要忘记将.h文件包含在需要变量的位置。
使用当前日期启动NSDate的正确方法是这样做:
NSDate *currentDate = [NSDate date];