2012-01-09 6 views
1

がある場合、ivar構造体には3つのメンバがあります。 -ivarには何が入っていますか?ヘッダファイルに

の名前、型およびオフセット。

名前は変数の名前を格納するための名前だと思います。

オフセットは、構造体の先頭からの距離をバイト単位で格納するためのものです。

私はこれらの2つについて正しいのか教えてください。誰も私を説明することができますどのようなタイプですか? データ型またはスコープがパブリック、プライベート、または保護されているかどうかを示します。

答えて

1

インスタンス変数の型エンコードを含むCの文字列です。 Objective-Cランタイム・プログラミング・ガイドのローカル・コピーのType Encodingsを参照してください。

Ivar不透明タイプあるので、あなたは、しかし、直接Ivarフィールドにアクセスするべきではありません。そのためにはivar_getTypeEncoding()を使用する方が良いです。

+0

次に、変数の範囲に関する情報は、パブリック、プライベート、および保護のように格納されていますか? –

+0

ところで、私は他の2つについて訂正しましたか? –

+1

スコープ指定子はコンパイラ指令です。私が知る限り、ランタイムには影響しません。コンパイル時にエラーが発生するだけです。範囲ディレクティブに関係なく、実行時にすべてのivarsにアクセスできます。そして、はい、あなたはivarの名前とオフセットについて正しいです。 – Costique

関連する問題