2011-09-09 87 views
0

我在控制器內部,想訪問和關閉當前顯示的主窗口。但是當我嘗試:爲什麼我無法從控制器訪問NSApp全局變量?

[NSApp mainWindow] close]; 

什麼也沒有發生。那麼我如何訪問它?

+1

我從來沒有見過'NSApp'是'nil'。是 - [NSApplication sharedApplication]''nil'呢?你是否嘗試過使用NSLog()而不是使用調試器? – 2011-09-09 13:48:34

+0

如何檢查[NSApplication sharedApplication]是否爲零?我假設我可以使用NSApp而無需聲明它?我不知道如何NSLog對象,只是字符串。 –

+1

試試'NSLog(@「NSApp =%@」,NSApp); NSLog(@「sharedApp:%@」,[NSApplication sharedApplication]);'。 '%@'格式說明符可以用來格式化對象。 – 2011-09-09 13:53:43

回答

0

我需要使用類似:

[[NSApp delegate] closeFilePanel]; 
+0

這與問題沒有任何關係。如果'NSApp'爲'nil',那麼你將不能發送任何消息給它,而不是'mainWindow','delegate'等等。 –

+0

正如我在評論中提到的那樣,我發現NSApp其實並不是零。我已經更新了這個問題。 –

相關問題