Objective-C コードに出てくるブラケット記号で囲まれた行は何なの? … メッセージ式の話

Swift から入った人が Objective-C コードを読んでいた時に思ったこと。

Objective-C コードで、ブラケット [] で囲んでいる行をよく見かける。

[greeter sayHello];

コレは何なのかと調べてみたところ、コレは「メッセージ式」とか「メッセージング」「ブラケット記法」とか呼ばれる記法のようだ。

処理としてはメソッド呼び出しで、以下のように書いた時と意味合いは同じ。

greeter.sayHello();

メッセージ式にはデリゲート (委譲) できる仕組みがあるなど、厳密には通常のメソッド呼び出しと異なるところがあるが、単に Objective-C コードを読む時は「メソッド呼び出しの処理」と思っておくだけで読めるようになるかと。


ちなみに、はてなブログの Markdown 記法で Objective-C コードをシンタックスハイライトする時は、objc と書けばできる。