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)に同名のメソッドが記述されていない場合にも発生するのだ。

ここ数年はJavaC#等、ヘッダファイルが不要な言語ばかりを使って来たために、メソッド名を修正する際にヘッダ(.h)側の修正を忘れてしまうのが直接の原因だ。

それにしても、慣れと思い込みは怖いなぁ。