Help us understand the problem. What is going on with this article?

プログラミング教室で iOS アプリの作り方を説明しました. その3

More than 3 years have passed since last update.

前回


概要

今回は iOS アプリケーションのライフサイクルの説明をしました。

普通に新入社員研修でやるような内容だと思います。

諸事情により、生徒は実質1人でしたのでほぼマンツーマンでした。

やること

Cocoapods の使い方

  • インストール
    • gem install cocoapods
    • pod setup
    • Pod init
    • Podfile を編集して
    • pod install
    • xcworkspace の方を開く
  • Alamofire を入れてみる (HTTP ライブラリ)
  • json API を叩いてみる
  • cocoapods ライブラリの探し方

iOS アプリケーションのライフサイクル

  • AppDeleagte
    • AppDelegate とは?
    • ライフサイクル
  • UIViewController
    • UIViewController とは?
    • ライフサイクル

自分で調べる方法

[UIViewController ライフサイクル] とかでググると色々出てくるので自分で調べられる。

進め方(1.5時間)

Cocoapods の使い方

  • pod setup がなぜか終わらず悲しい...
  • 何時まで待っても終わらないので Cocoapods の使い方をざっくりと説明して終わりにしました
  • 適当な API を叩いて Json を取得する処理を書こうと思ったのですが止めました

iOS アプリケーションのライフサイクル

AppDelegate のライフサイクルを知るためにそれぞれのメソッドにブレークポイントを貼ってアプリを起動したり、ホームボタンを押したりしてどのメソッドが呼ばれるのか確認しました。

その後、 それぞれどんなときにどんな処理をするために使用するのかをざっくりと説明しました。

次に UIViewController のライフサイクルを説明しました。

AppDelegate の時と同様にそれぞれのメソッドにブレークポイントを貼っていつどんなメソッドが呼ばれるのかを確認しました。

次に viewDidLoad でラベルやボタンを追加する処理を書いて動作を確かめました。

画面遷移

若干時間が余ったので別の ViewController に遷移する処理を書きました。

iOS では画面遷移には大きくモーダルとプッシュの2種類があるのでそれぞれどのように動作するのかを確認しました。

最初はモーダルの表示を行いました。

次にプッシュの動作を確認しました。

Xcode が生成する Single View Application は NavigationController が最初は追加されていないので StoryBoard で NavigationController を追加した後に遷移が行われることを確認しました。

これらの遷移はコードで行って確認しましたがその後、コードを消し同じことを StoryBoard でやる方法を確認しました。

これらの画面遷移について説明して時間が来たので終了です。

まとめ

Xcode のバージョンが古かったため作業が行えない状態になった生徒がいたため、暇にさせてしまいましたのが反省点です(悲しいことに OS のアップデートが始まった...)。

ライフサイクルの説明もただダラダラと説明するのではなくもっと実際にアプリを作りながら説明したほうが良かったと後で思いました。

別に機会にサンプルプログラムを用意してそれを動かしたり改造したりという感じで進められたらいいのかなと思います。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away