does not declare a method with selector
NSStringクラスのカテゴリ(クラスエクステンション)を書いていた所、コンパイルで以下のようなエラーに遭遇した。
Receiver type 'NSString' for instance message does not declare a method with selector 'capitalizedFirstOnly'
初心者の私には、まるでメソッド自体が書かれていないようなエラーに見えるのだが.mを何度見てもメソッドは書かれている。暫く悩んだのだが、これはメッセージ(.m)に記述されているのにヘッダ(.h)に同名のメソッドが記述されていない場合にも発生するのだ。
ここ数年はJavaやC#等、ヘッダファイルが不要な言語ばかりを使って来たために、メソッド名を修正する際にヘッダ(.h)側の修正を忘れてしまうのが直接の原因だ。
それにしても、慣れと思い込みは怖いなぁ。