2007/02/13

warning: 'MyController' may not respond to '-loadImageFile:'

ドラッグアンドドロップの実装のためのコードを書いていて次のようなエラーが出た。

warning: 'MyController' may not respond to '-loadImageFile:'
warning: (Messages without a matching method signature will be assumed to return 'id' and accept '...' as arguments.)

実際にソースコード(MyController.m) には、-(BOOL)loadImageFile:(NSString*) filenameというメソッドがある。

この警告が出る理由は、ヘッダファイルにこのメソッドの宣言が書かれていないからだ。コンパイラが出したのは警告であってエラーではないのでコンパイルは終了しコードは動くのだが、ヘッダは書いた方が良い。特に2行目のエラーは、「宣言がないので適当に計らいまっせ」と言っている。

その警告を直し、ドラッグアンドドロップの動作を確認してみる。うまく出来ているようでちゃんと画像をドラッグしたらサムネイルが表示されるようになった。


これで2月2日に書いたゴールを達成。ちょっと当初の目的とはずれてしまうが、[サムネイル生成]ボタンを追加し、それをクリックしたら適当なディレクトリにサムネイルファイルを生成するようにしてみよう。考えられる作業は次の通り。
  1. ボタンの追加
  2. ボタンからControllerへのアクションの追加
  3. NSImageあたりを使って画像の操作(画像サイズ取得と画像縮小)
  4. ファイルの書き出し
  5. ダイアログボックスを表示して、作業の完了をお知らせする

0 件のコメント: