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/8898220 to your computer and use it in GitHub Desktop.
Save Torokun/8898220 to your computer and use it in GitHub Desktop.
Chapter 4-2

Chapter 4-2

GUI部品

  • ラベル、ボタン、テキストフィールド、スイッチなどのGUI部品はUILabel、UIButton、UITextField、UISwitchといったクラスのインスタンスとして動作する
  • GUI部品はストーリーボードのキャンバスにドラッグ&ドロップで配置できる

アウトレットの接続

  • GUI部品をプログラム上から制御するにはアシスタントエディタを使ってヘッダファイルまたは実装ファイルの@interface@endの間にインターフェースセクションを接続する(CTRL+D&D)
  • アウトレット接続だと、そのオブジェクトを参照するためにプロパティ変数を挿入できる

アクションの接続

  • ボタンをタップしたら何か処理をするといったことをするにはGUI部品とメソッドをアクションで接続する
  • Actionで接続すると、@implementation側にもメソッドが挿入されるので、そこで処理したい内容を記述する
  • 先にGUI部品をアウトレット接続をしておくとGUI部品自身のプロパティやメソッドにアクセスすることができる
  • typeがidは挿入されるメソッドの引数senderの型としてGUI部品の何にでも適用できる便利な型だが、GUI部品のそれぞれが持っているプロパティやメソッドにはアクセス出来ない。
  • この引数senderは呼び出し元のGUI部品のインスタンスである
  • typeを置いたGUI部品の型にしておけば、メソッド内でsenderで呼び出し元のGUI部品にアクセスできる
  • これを使えば、アウトレット接続はなくても呼び出し元のGUI部品にはアクセスできる

ヘッダファイルへの接続

  • ヘッダファイルにアウトレットやアクションを接続すると、他のクラスからもアクセスできるプロパティやメソッドになる

アウトレットコレクションの接続

  • 複数の部品を配列で扱うための接続である
  • 最初の接続でConnectionにOutlet Collectionを選んでプロパティを作成し、他の配列に含めたいGUI部品を同じプロパティにCTRL+D&Dで次々に接続していけばよい
  • 同じ種類のGUI部品でない場合はコレクションにできない

複数のGUI部品から同じメソッドに接続する

  • 同じ種類のGUI部品から同じ処理をしたい
  • ただ、部品ごとに少しだけ処理を変えたい
  • Tagという識別子で判別して処理分岐をすることができる
  • TagはGUI部品のAttribute InspectorのTag項目で番号付けをする
  • プログラムからはsender.tagでTag番号を参照できる
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment