如何在基于文档的可可应用程序中只显示一次NSWindow?

时间:2016-12-21 08:21:30

标签: cocoa

- (void)showPromotionWindow
{
    [_promotionWindow showWindow:self];
    [_promotionWindow.window makeKeyAndOrderFront:self];
}

我的项目是基于文档的应用程序,所以当调用showPromotionWindow时,每个文档窗口都会启动一个窗口,但我只想为多个文档启动一次窗口。如何实现这个?

修改

我发现一种方法是自定义此窗口,例如PromotionWindow,然后检查所有窗口是否包含PromotionWindow

for(id window in [[NSApplication sharedApplication]windows])
{
    if([[window className]isEqualToString:@"PromotionToolsWindow"])
    {
    }
}

EDIT2

另一种方法是使用static

static PromotionWindow *promotionWindow;

你还有其他更好的方法吗?

0 个答案:

没有答案