Skip to content

Instantly share code, notes, and snippets.

@Torokun
Last active August 29, 2015 13:56
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Torokun/8895546 to your computer and use it in GitHub Desktop.
Save Torokun/8895546 to your computer and use it in GitHub Desktop.
Chapter 4-1

Chapter 4-1

Single View Applicationテンプレート

  • AppDelegate.h
  • AppDelegateクラスのヘッダファイル
  • AppDelegate.m
  • AppDelegateクラスの実装ファイル
  • ViewController.h
  • ViewControllerクラスのヘッダファイル
  • ViewController.m
  • ViewControllerクラスの実装ファイル

が作られる。

プロジェクトを作成する際に「Class Prefix」を入力するとそれがクラス名の接頭辞になってファイルが作成される。

  • AppDelegateクラス

  • アプリが起動した直後や停止/復帰の際の処理を書くところ

  • ViewControllerクラス

  • 画面のタップなどのイベント処理を書くところ

  • ストーリーボード

ヘッダファイルの構造

#import <フレームワーク/ファイル>
#import ソースファイル

@interface クラス名 : スーパークラス名 <プロトコル>
{
  インスタンス変数宣言;
}
プロパティ変数宣言;
メソッド宣言;
@end
  • #import
  • フレームワークや他のソースファイルを読み込む
  • Cでいうところの#includeやJavaのimportと同じようなもの
  • @interface@end
  • クラス定義をしているところ
  • スーパークラス
  • 親クラス、継承元クラス
  • プロトコル
  • Javaでいうinterfaceの実装(implements)と同様でイベント処理等を書く時に使うもの。
  • インスタンス変数
  • インスタンス変数はインスタンス内で使える変数。
  • protectedメンバ変数のようなもの。
  • プロパティ変数
  • @property (属性) データ型 プロパティ名という書式
  • プロパティ変数は、クラス外からアクセスできる変数。
  • publicメンバ変数のようなもの。
  • setterおよびgetterがコンパイル時に自動生成される。
  • 属性はP.105のNOTE欄を参照
  • メソッド宣言
  • + (返値のデータ型) メソッド名:(データ型)引数1 ラベル2:(データ型)引数2 ...;という書式
  • - (返値のデータ型) メソッド名:(データ型)引数1 ラベル2:(データ型)引数2 ...;という書式
  • 先頭の+はクラスメソッド、-はインスタンスメソッド

実装ファイルの構造

#import ヘッダファイル

@interface クラス名 () <プロトコル>
{
  インスタンス変数宣言;
}
プロパティ変数宣言;
メソッド宣言;
@end

@implementation クラス名
メソッド定義;
@end
  • @interface〜最初の@end
  • クラスエクステンション
  • クラス内だけで使うプロパティやメソッド等を書ける
  • いわゆるprivateなメンバ変数やメソッドの宣言に使う
  • このファイル以外から宣言されたクラスからはアクセスできない
  • 使わない(必要ない)場合は省略できる
  • @impletentation〜2個目の@end
  • メソッド定義(動作)を書く
- (返値のデータ型) メソッド名:(データ型)引数1 ラベル2:(データ型)引数2 ...
{
  処理
  return 返値;
}

という書式

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment