たぷつきません

おなかがでてきた。もうたぷついてるやん。

メソッドのラベルは空でもいける

 たまたま同僚が書いたメソッドを呼び出そうと、Xcodeのエディタからコード補完のドロップダウンリストを出したら、初めて見るパターンの候補が出てきた。

open::::

 一瞬何が起きたか分からなかったけど、要するに引数のラベルが空文字列になっている(2つ目以降の3つの引数のラベルが空)ということだった。ラベルも含めてメソッド名となるのが望ましいけど、Objective-Cの言語仕様で許されているということなのだからTPOによっては使い分けても良いかも。引数にリテラルを使わないと大抵はラベルと同じ変数名になって、コードが二度言いしているようなウルサイ状態になることもあるし。

 更に試してみたところ最初のラベルまで空でもいけた。もうなにがなんだか。

- (void):(int)a {
}

- (void)test {
  [self :123];
}