またもう一つの失敗 unrecognized selector sent to instance - 実装ファイルのAdd Targetを疑え!!
2013/04/30

Objective-Cです。xcodeです。
NSMutableArrayにshuffleというカテゴリを追加して、実行時に呼び出した際に下記のエラーがでておちたわけです。
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSArrayM shuffle]: unrecognized selector sent to instance 0x9d94d00'
みつからないよといわれて落ちたわけですが、xcodeにはヘッダーファイルも、実装ソースもあるし、コンパイルも通っているわけですが、何のことはなくて、実装ファイル(xxxx.m)をターゲットメンバーシップ(Target Membership)に含めていなかっただけでした。
ソースファイルを他のプロジェクトからドラックアンドドロップでコピーファイルしてもってきたときにAdd targetのチェックを入れてなかったからでした。
こういうのってはまるとはまってしばらく悩んでしまいますね。
ヘッダーファイルがあるのでコンパイルは通るのですが、実行時にエラーは正直つらいですね。
: