OStack程序员社区-中国程序员成长平台

标题: ios - iOS 上的计时器不起作用 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 15:59
标题: ios - iOS 上的计时器不起作用

我正在尝试自己制作一个计时器,但它不起作用。似乎每次重复都为零,有人吗?它适用于 OS X,但不适用于 iOS。

我只需要一个有效的循环方法 - 有什么建议吗?

标题:

@interface ViewController : UIViewController
@property (strong, nonatomic) IBOutlet UILabel *timerOutlet;
- (void)timerid)sender;
@end

实现:

@synthesize timerOutlet;

- (void)viewDidLoad
{
    [super viewDidLoad];
    started = TRUE;
    [self timer:nil];
}

- (void)timerid)sender {
    int test = 1;
    NSString *number = [NSString stringWithFormat"%i",test];
    timerOutlet.text = number;
    [self performSelectorselector(timer withObject:Nil afterDelay:1.0];
    test ++;                
}



Best Answer-推荐答案


问题是你重新声明 test 并在每次执行计时器方法时为其分配 1。因此,如果您要么省略声明并将 test 设为实例变量,要么将其设为 static,这应该会有所帮助。但是,除此之外,您应该真正使用 NSTimer 对象而不是强行使用框架。

- (void)viewDidLoad
{
    [super viewDidLoad];
    started = TRUE;
    test = 1;
    [NSTimer scheduledTimerWithTimeInterval:1.0f target:self selectorselector(timer userInfo:nil repeats:YES];
}

- (void)timerid)sender {
    NSLog(@"%i",test);
    test++;
}

关于ios - iOS 上的计时器不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12221739/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4