2012年2月1日水曜日

objective-Cのお勉強「インスタンス変数についてマスター」

今回は、先ほどのクラス宣言に引き続き、
インスタンス変数についてお勉強したいと思います。

Xcodeで、サンプルプログラムのHelloWorldAppDelegateを開いてみます。
左側のClassesの中に入っているHelloWorldAppDelegate.hファイルを開いてみると、

IBOutlet UIWindow *window;
MyViewController *myViewController;

と書いてあります。
これがインスタンス変数です。

まずは一つ目の、
「IBOutlet UIWindow *window;」から見ていきたいと思います。

IBOutlet

これは、アウトレットの宣言になります。

アウトレットってなんだ!!って感じですが、
Interface Builderを使うときにどんな名前で接続するのかを
宣言するものになります。

UIWindow

これは、「型」を指定しています。
型には、整数型、文字列型、クラスオブジェクト型など、
いろいろな型があり、どんなものを変数に入れたいのかを指定するのが、
この型になちます。

これは、「UIWindow」というクラスオブジェクト型を指定しています。

*window

これはインスタンス変数の名前です。

Objective-cでインスタンス変数を宣言するときに、
型が「クラスオブジェクト型」の場合は、
変数名の頭にアスタリスクをつける
という決まりになっています。

最初はこんな感じで覚えてしまっていいみたいです。

次の「MyViewController *myViewController;」を見てみたいと思います。
先ほどのインスタンス変数の宣言では、
「アウトレット」 「型」 「変数の名前」という三つのセットだったのに、
今回のは、「MyViewController」と「*myViewController」しかありません。

そうです、アウトレットとして使わない場合は、
「アウトレット」として宣言しなくてもいいのです。

つまり、「MyViewController *myViewController;」は、
「MyViewController」型の「*myViewController」変数を使うよ
っていうことです。

アウトレットの種類や、型の種類はたくさんあるようなので、
まだまだこれからですが、
アプリを開発していく中で、少しずつ覚えていきたいと思います。

0 件のコメント:

コメントを投稿