2010-04-14 61 views
0

我试图直接从代码运行窗口为模态。 我的程序启动并显示一个主要的NSWindows。一个线程仍在运行,以查看用户是否具有有效分发。如果他不需要运行模式。我的意思是,我没有在界面中单击按钮。我在界面构建器上设计了一个NSWindow用于设置密码,我只想在我的验证是不成功。 我已经测试并意识到这些方法负责模式窗口运行只能在IBAction环境中工作。如何从可可代码运行模态窗口?

//This doesn't work 
-(void) showPasswordWindow 
{ 
     [NSApp runModalForWindow:[self window]]; 

} 

//this works But its not useful for me =(
- (IBAction) passwordWindowButton:(id)sender 
{ 
    [NSApp runModalForWindow:[self window]]; 
} 

请帮助这个新手=)

回答

0

一件事来检查:你叫主线程的方法?

检查,这增加showPasswordWindow

NSLog(@"Main thread? %d", [NSThread isMainThread]); 
+0

Yes.The验证始于此方法: - (空)的applicationDidFinishLaunching:(NSNotification *)aNotification – Leandro 2010-04-14 20:08:23

+0

莱昂德罗:我认为cobbal的意思是“你叫' runModalForWindow:'在主线程上?“。你从哪里开始你的辅助线程并不重要。 – 2010-04-14 20:49:05

+0

是的,伙计们。现在我明白了。感谢您的帮助! =) 我得到的答案是 “主线程?1” – Leandro 2010-04-15 12:41:05