私はObjective-Cランタイムタイプエンコーディング文字列に関するAppleの記事を読ん でおり、一部のメソッドのタイプ文字列には数値が含まれています。
数字はv12@0:4@8
どういう意味ですか?
私はObjective-Cランタイムタイプエンコーディング文字列に関するAppleの記事を読ん でおり、一部のメソッドのタイプ文字列には数値が含まれています。
数字はv12@0:4@8
どういう意味ですか?
これは、次のようなセッターメソッドのエンコーディングのように見えます。
- (void) setSomething:(id) anObject
それを分解するには:
v
ボイドリターンタイプを意味します12
引数フレームのサイズ(12バイト)を意味します@0
引数フレームのバイトオフセット0にObjective-Cオブジェクトタイプがあることを意味します(これはself
各Objective-Cメソッドの暗黙的なオブジェクトです):4
これは、バイトオフセット4にセレクターがあることを意味します(これは、_cmd
メソッドを呼び出すために使用されたセレクターである、すべてのメソッドに暗黙的に含まれています)。@8
バイトオフセット8に別のObjective-Cオブジェクトタイプがあることを意味します。