2011-02-02 4 views
3

私はディスクからイメージをロードし、単純なImageViewのを作成しようとしているが、これは(私は私のapplicationDidFinishLoadingに入れて)動作していない:NSImageViewはsetImageに失敗しますか?

NSString *file = [@"~/update.png" stringByStandardizingPath]; 
NSImage *image = [[NSImage alloc] initWithContentsOfFile:file]; 
[wView setImage:image]; 

どうやらNSImageView用の画像ではありません私がNSLog [wViewイメージ]なら、私は(null)を得るので、設定されています。私はここで初心者の間違いをしていると確信していますが、何ですか?

ファイルとイメージが正常に読み込まれます。 NSViewに画像を描画すると、上手く表示されます。 wViewはnilではありません。デフォルトのウィンドウのビューには、initWithFrame:がsetImageを呼び出すカスタムNSImageViewサブクラスを持つ別のプロジェクトを作成しようとしました。まだ何も。

+2

あなたはNSLog(@ "%@"、イメージ)できますか?それがヌルかどうかを確認する – David

+0

'file'変数は何を返しますか? – Eimantas

答えて

1

ほとんどの場合、wViewはゼロです。これの最も一般的な理由は、ビューへの接続でペン先でインスタンス化されたクラスも、コードで2回インスタンス化される場合です。

4

(実際のアカウントとここでOP)

あなたは私が何を意味するかを得るのであれば、それは、setImageが明示的にIBに構築されますNSImageViewに動作しないことが判明。私はその中にNSImageViewを構築し、setImageを呼び出すNSViewサブクラスを作ったので、うまくいきました。本当に迷惑です。

+1

少し詳しく教えていただけますか? –

関連する問題