Objective-Cの予約語

objective-c-keywords.png
Objective-CはCの完全な拡張であるので、一部に制約が付いたC++とは異なり、Cで使えた書式は全て使える。 変数の型も同じだが、typedefにより、見かけ上いくつか追加がある。[2]
id オブジェクトを示す汎用変数(正確にはインスタンスのアドレス=ポインタ)
Class 
SEL メソッドのセレクタ値
IMP メソッドの実行アドレス(ポインタ)
BOOL YES/NOのどちらかの値を持つ型
また、以下の定数もobj.hをimportすることで使える(標準定数)。
nil CにおけるNULLをidに拡張したものと思えば正解。終端やエラーを示すのに多く用いられる (id)NULL
YES/true BOOLの肯定 (BOOL)1
NO/false BOOLの否定 (BOOL)0
NSNotFound  要素を探したが見つからないとき 開発環境によって異なる

id

弱く型指定される宣言。

id label;//idクラスのオブジェクトとして宣言される

クラスやオブジェクトインスタンスへの参照のプレースホルダーとして使えます[1]。
id <MTLDevice> _device;

サポートサイト Wikidot.com