使用不同文件中的值更改标签文本?

时间:2011-04-30 23:55:49

标签: iphone objective-c cocoa-touch

我这里有这些功能,会记录起点和按下按钮之间的时间来停止时间,然后最后打印记录的时间长度:

-(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。

1 个答案:

答案 0 :(得分:0)

您可以使用属性startTimer和stopTimer实现名为dateManager的单例。

您只会创建一个dateManager实例,因此它与代码中任何位置的属性值相同。

或者您也可以在一个.h文件中创建(更容易):

static NSDate *startTimer  = nil;
static NSDate *stopTimer  = nil;

在需要时给他们提供值,但不要忘记将.h文件包含在需要变量的位置。

使用当前日期启动NSDate的正确方法是这样做:

NSDate *currentDate = [NSDate date];