2011-05-19 9 views
1

私はここで奇妙な問題があります。EXC_BAD_ACCESSを与えるNSImageViewへのアクセス

私にはMainViewというクラスがあります。 MainViewにはNSImageViewという1つがありますが、それはimageViewとなります。これをInterface Builderを使ってイメージビューに接続しました。また、Interface BuilderでMainViewのインスタンスを初期化し、そのインスタンスへのコンセントを別のクラスに接続しました(ivar名はmainView)。それでは、私はこのようなイメージビューにアクセス:

[mainView imageView] 

それでは、私はNSLogテストのための「imageViewをDと、それがオブジェのアドレスが返されました。ここまでは順調ですね。

ここで問題があります:今、私はこれを行うことによって、そのimageViewの起源を取得しようとしている:

NSPoint point = [[mainView imageView] frame].origin; 

これは動作するはずです、右? -[NSImage frame]: unrecognized selector sent to instance 0x1001d5fd0

奇妙な部分はこれが常にうまく動作することですが、私はいくつかのivarの名前を変更してしまい、混乱しているように見えました(これは一度SIGABRTを取得しました)全部をアップしてください。私は、オブジェクトをログに記録するときにメモリアドレスを取得するため、IBとの接続問題ではないことをほとんど知っています。何か案は?

+0

私は確認し、報告します。 –

+0

ハワイ、ありがとう!あなたのコメントを回答として投稿してください。 'mainView.imageView = [NSImage imageNamed:@" blah "];'は、基本的にNSImageViewをNSImageに設定しています。代わりに 'setImage:'メソッドに切り替えました。 –

+0

このリンクを参照してください:http://loufranco.com/blog/files/Understanding-EXC_BAD_ACCESS.html –

答えて

2

エラーメッセージ

- [NSImageではフレーム]:未認識セレクタ

インスタンスに0x1001d5fd0を送っはimageView代わりNSImageViewオブジェクトのNSImageオブジェクトを指していることを意味します。あなたのコードのどこかに、imageViewコンセントを再割り当てして、NSImageインスタンスを指しているように見えます。

+0

利用可能になるとすぐに受け付けます。ニースキャッチ、ありがとう。 –

関連する問題