Macos 系统通知窗口卡住导致程序卡住[Cocoa][Mac OSX]?

Macos 系统通知窗口卡住导致程序卡住[Cocoa][Mac OSX]?,macos,cocoa,Macos,Cocoa,我正在尝试在Mac应用程序中显示通知窗口。该应用程序的试用版中会出现一些问题。该窗口将在30秒内不可移动(并且它将有一个倒计时为0的计数器)。30秒后,它将继续执行 这是代码 _systemNotificationWindow = [[SystemNotificationWindow alloc]initWithWindowNibName:@"SystemNotificationWindow"]; NSLog(@"1111"); [self.systemNo

我正在尝试在Mac应用程序中显示通知窗口。该应用程序的试用版中会出现一些问题。该窗口将在30秒内不可移动(并且它将有一个倒计时为0的计数器)。30秒后,它将继续执行

这是代码

   _systemNotificationWindow = [[SystemNotificationWindow alloc]initWithWindowNibName:@"SystemNotificationWindow"];
        NSLog(@"1111");
        [self.systemNotificationWindow setActionDelegate:self];


         [self.systemNotificationWindow startTimer:30];
        NSLog(@"2222");
        [self.systemNotificationWindow showWindow:self];


        NSLog(@"3333");

        NSLog(@"4444");
代码卡在这一行

[self.systemnotificationwindowshowwindow:self]


它显示窗口,但30秒后计时器不工作,窗口也不消失。也没有打印3333和4444。

听起来您缺少控制计时器的事件循环,所以我猜您是在创建事件循环之前显示窗口的


您可以阅读有关事件和运行循环的更多信息。

+1.您可以编辑我的代码以包含事件循环吗?我是cocoa新手,理解这些主题需要花费很多时间。如果您能告诉我要添加的行,那将很有帮助。对不起,如果我确切知道您需要什么方法,我会这样回答问题。在Objective-C中,我还不必自己创建事件循环。如果没有其他人可以提供,您可以阅读文档并找出需要的内容,或者延迟应用程序中该窗口的显示,以便在启动计时器之前创建主事件循环。