今回は、先ほどのクラス宣言に引き続き、
インスタンス変数についてお勉強したいと思います。
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 件のコメント:
コメントを投稿