本日は、アクセサのお話です。こっちから見た方が簡単なので、はい、どん!<クリックで拡大>@propertyと書いているこの2行に注目してください。*myViewController;それと、どん!<クリックで拡大>同じく@synthesizeと書いてきたこの2行。myViewController;@propertyと@synthesize。前にくっついているコンパイラディレクティブが違いますが、windowとmyViewControllerは同じ。「セットじゃない?コレ」と思ったアナタ。コレ×2、アクセサメソッドの自動生成用コンパイラディレクティブなんです。アクセサメソッドノジドウセイセイヨウコンパイラディレクティブ?。例えてどん!のコーナー。マナブ君の話を思い出してみましょう。彼は数字カウント用の指、つまり、インスタンス変数を持っているというくだりがありました。Objective-C入門その5:インスタンス変数宣言をマスターする今マナブ君は先生から言われた計算をしています。隣に座っているケイコちゃんがマナブ君の指をグワッ!と3本にぎってしまいました。先生「まなぶくーん、答えはー?」マナブ君「2ほーん!」ブー。マナブ君は「指」という「インスタンス変数」に入っている値を答えることしかできません。「指」が「正解」なので、ケイコちゃんに邪魔されたら即OUTなわけです。「先生以外は彼の指を曲げ伸ばしさせられない」というブロックが欲しい、ということになりますね。・セッターメソッド(インスタンス変数にデータを格納するメソッド)・ゲッターメソッド(インスタンス変数からデータを取得するメソッド)という2つのメソッドが用意されています。「インスタンス変数SET専用メソッド」と「インスタンス変数GET専用メソッド」ということです。「インスタンス変数にアクセスするメソッド」ということで、まとめてアクセサメソッドと言います。本日のお題が出てきましたね。本来でしたらここでアクセサメソッドの書き方をお話しするところなのでしょうが、しません。いうより、しなくても良くなりました。2.0という現在のObjective-Cでは、アクセサメソッドを自動生成してくれるコンパイラディレクティブが用意されているからです。@property@synthesize2つでセットです。実行時に自動的にアクセサメソッドを生成してくれます。結局2つも書くなんて面倒だな。セッターメソッドとゲッターメソッドを書く方が遥かに面倒だったんです。オートマとマニュアルくらいの違いです。コレ作ったエラい人に感謝してこっちの書き方を覚えましょう。インスタンス変数名;@synthesizeの方はインスタンス変数名を書いておけば良さそうなので簡単ですが、@propertyの(カッコ)の中は何でしょう?実はコレ、インスタンス変数の取り扱い方法を指定しています。格納時にオブジェクトのコピーを使ってね詳しくはこちらのページ。オフィシャルなので言葉超難解デスケド。プロパティの宣言と実装retain,assign,copyの違いは今後詳しく見ていきますので、とりあえず書き方だけ覚えましょう。それと、カンマはタダの区切りで、必ず2個書かないといけないものではありません。「【myViewController】っていう【myViewController型】のインスタンス変数にアクセスよろしく」です。