テックキャンプ131日目〜MVC・ボタンをタグで管理

kobasaです(´ω`*)
XcodeのMVCの流れを勉強していました。Railsが懐かしい。
まだ基礎部分なのかModelがRailsのときとは違う気がする。
Modelといえばデータベースのイメージ。そろそろそれなりのアプリ開発に入りそう!

131日目の勉強内容

XcodeのMVCモデルについて

  • Model:機能(データの処理を実行)
  • Controller:Viewに見せる処理
  • View:ユーザーからアクションを受ける

View(スマホ画面)で受けたレスポンスをControllerがModel内の機能を使用して処理をする。
そして処理結果をViewに返す。Railsとほとんど同じですね。

フォルダの区切り方

・Viewフォルダ:「Main.storyboard」「Assets」を入れる
・Controllerフォルダ:「AppDelegate」「SceneDelegate」
 「ViewController」「NextViewController」などコントローラーやデリゲートを入れる
・Modelフォルダ:クラスファイルを作成して入れる

ボタンをタグで管理する

1つのIBActionの中に条件式を用いて、「○ボタンを押したとき」「×ボタンを押したとき」など複数のアクションを記述する方法。

まずはどちらかのボタンをコードに紐付けてIBActionのメソッドを作成する。
次に他のボタンをメソッド内にドロップして紐付けする。
ここでは何も表示されないがコードの◉をにマウスを合わせると両方のボタンが選択される。
各ボタンへの処理は、ボタンに指定したTagエレメントの数値を使用する。

@IBAction func answer(_ sender: Any) {
	if(sender as AnyObject).tag== 1{
	//Tagが1のボタンが押されたときの処理
	
	}else if(sender as AnyObject).tag== 2{
	//Tagが2のボタンが押されたときの処理
	
}

if文の中のsenderはこのオブジェクトという意味になる。
この記述方法ではボタンをIBOutletで変数化する必要がない。

コメント

タイトルとURLをコピーしました