Macos 系统通知窗口卡住导致程序卡住[Cocoa][Mac OSX]?
我正在尝试在Mac应用程序中显示通知窗口。该应用程序的试用版中会出现一些问题。该窗口将在30秒内不可移动(并且它将有一个倒计时为0的计数器)。30秒后,它将继续执行 这是代码Macos 系统通知窗口卡住导致程序卡住[Cocoa][Mac OSX]?,macos,cocoa,Macos,Cocoa,我正在尝试在Mac应用程序中显示通知窗口。该应用程序的试用版中会出现一些问题。该窗口将在30秒内不可移动(并且它将有一个倒计时为0的计数器)。30秒后,它将继续执行 这是代码 _systemNotificationWindow = [[SystemNotificationWindow alloc]initWithWindowNibName:@"SystemNotificationWindow"]; NSLog(@"1111"); [self.systemNo
_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中,我还不必自己创建事件循环。如果没有其他人可以提供,您可以阅读文档并找出需要的内容,或者延迟应用程序中该窗口的显示,以便在启动计时器之前创建主事件循环。