我正在寻找一种在我的应用程序空闲时在NSTextField中间隔显示字符串的方法。我知道使用sleep进行此操作的一种方法,尽管我认为这不是处理此问题的最佳方法。我在想NSTimer scheduledTimerWithTimeInterval可能是一个好方法,但是我不确定该怎么做。

这是我的代码:

- (void)showTextAtInterval {

NSTextField *textLabel;

[textLabel setStringValue:[NSString stringWithFormat:@"06/01/14"]];
sleep(5);
[textLabel setStringValue:[NSString stringWithFormat:@"Headlines"]];
....

}


编辑:尝试过此方法,但仅静态显示“标题”。

[self startTimer];

- (void)startTimer {

    [NSTimer scheduledTimerWithTimeInterval:5 target:self selector:@selector(showTextAtInterval) userInfo:nil repeats:YES];
    return;
}

- (void)showTextAtInterval {

    NSTextField *textLabel;

    [textLabel setStringValue:[NSString stringWithFormat:@"06/01/14"]];
    [textLabel setStringValue:[NSString stringWithFormat:@"Headlines"]];

}

最佳答案

初始化计时器

-(void)awakeFromNib{
    [super awakeFromNib];
     NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:5 target:self selector:@selector(showTextAtInterval) userInfo:nil repeats:YES];

}


并使用您的选择器:

- (void)showTextAtInterval {

NSTextField *textLabel;

[textLabel setStringValue:[NSString stringWithFormat:@"06/01/14"]];

[textLabel setStringValue:[NSString stringWithFormat:@"Headlines"]];
....

}

关于objective-c - NSTextField + NSTimer,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23872524/

10-13 04:03