2011-09-09 10 views
0

私はコントローラの中にあり、現在表示されているメインウィンドウにアクセスして閉じたいと思っています。しかし、私が試してみると:コントローラからNSAppグローバル変数にアクセスできないのはなぜですか?

[NSApp mainWindow] close]; 

何も起こりません。どうすればそれにアクセスできますか?

私は見たことがない
[[NSApp delegate] closeFilePanel]; 
+1

'NSApp'があること' nil': –

+0

[NSApplication sharedApplication]がnilであるかどうかを確認するにはどうすればよいですか?私はそれを宣言せずにNSAppを使うことができると仮定していますか?そして、NSLogオブジェクト、文字列だけではわかりません。 –

+1

'NSLog(@" NSApp =%@ "、NSApp)を試してください。 NSLog(@ "sharedApp:%@"、[NSApplication sharedApplication]); '。 '%@'書式指定子を使ってオブジェクトを書式設定することができます。 –

答えて

0

は、私のようなものを使用する必要がありました。 ` - [NSApplication sharedApplication]` `nil`もですか?デバッガを使う代わりに `NSLog()`を試しましたか?
+0

それは質問とは関係ありません。 'NSApp'が' nil'の場合、 'mainWindow'や' delegate'やその他のメッセージを送ることはできません。 –

+0

コメントで述べたように、NSAppは実際にはゼロではないことがわかりました。私は質問を更新しました。 –

関連する問題