NSTimer +模态问题

发布于 2024-10-25 14:04:36 字数 566 浏览 0 评论 0原文

我试图在将 NSWindow 作为模式运行时运行计时器,但不幸的是它根本不起作用。日志被调用,窗口出现并变成模态,但计时器从未被调用 - 为什么?我错过了什么吗?

    NSLog(@"Checking...");

    [[NSApplication sharedApplication] runModalForWindow:_Window];

    _checkTimer = [NSTimer timerWithTimeInterval:1 target:self selector:@selector(check:) userInfo:nil repeats:YES];

    [[NSRunLoop currentRunLoop] addTimer:_checkTimer
                                 forMode:NSDefaultRunLoopMode];
    [[NSRunLoop currentRunLoop] addTimer: _checkTimer
                                 forMode:NSModalPanelRunLoopMode];

I'm trying to run a timer while running an NSWindow as modal, but unfortunately it doesn't work at all. The log is called, the window appears and turns modal, but the timer is never called - why? Am I missing something?

    NSLog(@"Checking...");

    [[NSApplication sharedApplication] runModalForWindow:_Window];

    _checkTimer = [NSTimer timerWithTimeInterval:1 target:self selector:@selector(check:) userInfo:nil repeats:YES];

    [[NSRunLoop currentRunLoop] addTimer:_checkTimer
                                 forMode:NSDefaultRunLoopMode];
    [[NSRunLoop currentRunLoop] addTimer: _checkTimer
                                 forMode:NSModalPanelRunLoopMode];

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

·深蓝 2024-11-01 14:04:36

如果您出于某种原因需要在启动模态会话后添加计时器 - 那么只需将计时器添加到运行循环模式即可: NSModalPanelRunLoopMode

[[NSRunLoop currentRunLoop] addTimer:theTimer
                             forMode:NSModalPanelRunLoopMode];

If you need for some reasons to add timer after starting modal session - so just add timer to run loop mode: NSModalPanelRunLoopMode

[[NSRunLoop currentRunLoop] addTimer:theTimer
                             forMode:NSModalPanelRunLoopMode];
苏佲洛 2024-11-01 14:04:36

在开始模态会话之前尝试执行计时器/运行循环的操作。

Try doing your timer/runloop stuff before starting the modal session.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文