Objectice-C

Objectice-Cでのinitではまった

More than 5 years have passed since last update.

自前のObjectice-Cクラスを書くときにinitではまった。

当初下記のように書いた。

- (MyClass*)init:(double)paramA with:(double)paramB;

でもこれだとNo visible selectorってでる。

なんでかと思っていじっていると下記のように書いたらエラーが消えた。

- (MyClass*)initWithParamA:(double)paramA 

paramB:(double)paramB;

多分initメソッドとinit:with:は同じものとして見られるのだと思う。withはキーワードでしかないのでメソッドの名前を判断する上で必要とされているのはあくまでもinitのみなのではないだろうか。

なので自前でメソッドを作るときはキーワードでない先頭の名前を変更することが大事。