June 2014
Intermediate to advanced
400 pages
6h 29m
Japanese
この章では5章で簡単に紹介したアクセッサ、キー値コーディング、プロパティについてより詳しく説明します。このほかObj-Cのインスタンスのメモリ管理についても説明します。
アクセッサはインスタンス変数の値の取得や設定を行うメソッドです。値を取得するものをゲッター、値を設定するものをセッターと呼びます。
アクセッサは重要です。というのは、ひとつにはインスタンス変数がデフォルトでは保護されている(protectedである)のに対し、アクセッサとして公開されるメソッドは公開されている(publicである)からです。こうしたメソッドがなければ、保護されたインスタンス変数はほかのオブジェクトからはアクセスできません。
こう聞くと公開の必要がないインスタンス変数にはアクセッサを作らなくてよいということになりそうですが、最近のObj-Cではプロパティを宣言すればインスタンス変数とアクセッサが自動的に生成されるようになりました。このためアクセッサのコードを書く必要がありません。また処理系が自動的にインスタンス変数にまつわる処理を行ってくれます。
アクセッサには命名のための(単純ではあるものの重要な)慣習があり、この慣習には従う必要があります。
setで始まり、その後にインスタンス変数の名前の先頭を大文字にしたものを続けます(インスタンス変数の最初にアンダースコア「_」があれば除去します)。セッターは引数——インスタンス変数に新たに代入する値——をひとつだけ取ります。たとえば、myVar(あるいは_myVar)のセッターの名前はsetMyVar:としなければなりません。
Read now
Unlock full access