iOS アプリ開発 objective-c のカテゴリメソッドを追加したが、呼ぶと unrecognized selector となる

| コメント(0) | トラックバック(0)

----

クラスに独自の拡張機能をつけることができる、objective-c のカテゴリメドッソが便利そうなので使ってみた。

ヘッダと実装ファイルは NSString+URLEncode.h などと +カテゴリ名 をつけるようだ。

実装が終わり、早速呼び出して使ってみたところ、ランタイムで
unrecognized selector
というエラーになり実行されない。

メソッド名などが間違っていないか確認したが、ヘッダも実装も呼び出し側も同じメソッド名で間違いない。

悩んだ結果、原因は .m ファイルがコンパイル対象になっていないということでした。

Xcode でファイルを作っただけでは、コンパイルしてくれないらしい。。

XCode の [Build Phases] - [Compile sources] で作成した .m ファイルをコンパイル対象に追加して実行したら無事にメソッドが呼ばれました。




 

トラックバック(0)

トラックバックURL: http://onno.jp/mt/cgi-bin/mt-tb.cgi/338

コメントする

このブログ記事について

このページは、管理者が2013年6月22日 16:11に書いたブログ記事です。

ひとつ前のブログ記事は「ap-northeast-1a の EC2 Reserved Instance が購入できない」です。

次のブログ記事は「NSMutableArray に addObject で確かにオブジェクトを追加しているのに objectAt で nil が返ってくる - iOS アプリ開発 」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 5.13-ja