はじめてのiOSアプリ開発

時間設定の画面を作ってみよう(その3)

全334コースを10日間無料で

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
時間設定の画面からカウントダウンの画面に移動するときに、時間の情報をどのように受け渡すのかを説明します。
講師:
08:42

字幕

このレッスンでは 左側の方にある時間設定の画面から カウントダウン画面に対して どのように時間の情報を受け渡すのか ということを説明していきたいと思います 現在 このカウントダウンタイマーの 左側には SettingViewController と言う ファイルが用意されています この SettingViewController は カウントダウンタイマーの 設定画面を表すものです ここの SettingViewController は ファイルが2つありますけど この2つで1つの SettingViewController を表しています そして 右側にある このカウントダウンを行う画面 こちらは上にある ViewController と 言うもので表されています この ViewController で表される カウントダウンの画面に対して SettingViewController が 今 操作している この datePicker の時間の情報を どのように受け渡すのかというのが 今回のキーとなります まず 最初に今回作業していくのは ViewController.h (ヘッダ)になります この ViewController.h の中に 今までヘッダファイルは 使ってこなかったんですが このヘッダファイルの中に まず 変数を1つ定義します @property そして int 型の timeSec targetSec にしましょうか? targetSec この様に書くことで 「何秒間のカウントダウンを行うのか」 と言う情報を この ViewController に対して 受け取ることが出来るようになります ヘッダファイルに書いた変数と言うのは 他の ViewController の中にある timer とか targetDate という 変数とはちょっと違って この SettingViewController とか 外部のオブジェクトから 操作できるようになります そして今 ViewController に用意した targetSec に SettingViewController から 情報を受け渡してもらうようにするために この中に ViewController への 情報伝達のプログラムを書いていきます 一番最初にやっておかなければならないのは この一番上の #import 文の追加です この #import と書いてある下に さらに #import をもう1つ追加して ここに ViewController.h さっき変数を追加したばかりの ViewController.h ですけど これを「読み込みます」 と書いておくことで SettingViewController から ViewController を操作できるようになります そして その下にある― prepareForSegue と書かれている このメソッド実装が コメントアウトされた状態で ここに用意されています プログラムを書く時に コメントはもう要りませんので コメントを消してしまいます この prepareForSegue と言う メソッドなんですけれども このメソッドは画面が移り変わる時に 呼び出されるメソッドになります その時にこの segue というのが 受け渡されるのですけれども この segue が何者かと言うと 実はこれは Main.storyBoard の中で 先ほど見たこの矢印自身です ボタンが押された時に 次の画面に移ると言うのが この segue だったんですけれども この画面と画面をつなぐ 接続をするボンドの役割をするものが segue と呼ばれます そして SettingViewController の中で この segue というのが 画面と画面を接続していますので この segue に対して ローマ字読みをするとこれは 「セグエ」なんですけど 英語ではこれを「セグウェイ」と読みます この segue に対して destinationViewController という メソッドを呼び出すと これで移動先の ViewController が 取得できるんです この下のコメントも要りませんので 消してしまいましょう この ViewController に対して 先ほど用意した変数― int 型の変数 targetSec を用意しましたけど この ViewController に対して .target と入力すると この targetSec という変数が 使えるようになっていることが 分かると思います 今回はこの targetSec に datePicker で入力されているはずの カウントダウンタイマーの 時間を取得したいと思いますので countDownDuration を こうやってメソッド呼び出しして 取得すると こうやって targetSec に datePicker で設定された 秒数が入ります 但し 秒数は来るんですけれども datePicker の ユーザーインターフェイスというのは 分単位でしか 設定させてくれませんので 実際には 60 秒とか 180 秒とか そんな感じで 時間がやってきます これで SettingViewController から ViewController に移るタイミングの この prepareForSegue で この2つの画面をつないでいる segue から 次の画面である ViewController を取り出し そして その ViewController に対して targetSec という変数を通じて カウントダウンの時間を受け渡すことが 出来るようになりました 最後 ViewController.m の中で 現在はこの― 「10 秒間カウントダウンを行います」 と書いてある ここの部分を 先ほどの targetSec で この何秒間と言う 貰ったばかりの時間を使って 設定できるようにすることで 完全に時間の受け渡しが できるようになりました それでは このアプリケーションを実行して 結果を確かめておきたいと思います では 実行ボタンを押しましょう はい アプリケーションが起動しました まず最初 5分になっていますけれども これを1分くらいに設定して デバッグしやすくしようと思います これをちなみに0分にしようとすると 0分は選択できないように なっていますから 1分に跳ね上がって 戻ってしまいます 1分の所でカウントダウンを開始してみます 「カウントダウン開始」ボタンを押すと この様に 「 59 」「 58 」という風に カウントダウンを開始し始めました このまま放っておくと― どんどんカウントダウン していくのですけれども 一旦 カウントダウンを 停止していただきまして Main.storyBoard に戻って ここで segue の調整を しておきたいと思います ここの segue ですね この様にインスペクターで 調整することができるんです この Attribute Inspector の 設定の所で 現在 Presentation と 書かれた項目で― Presentation ではなく Transition と書かれたこの項目で Default が選択されています この Default と言うのは ボタンを押した時の画面が 下からピョンと ポップアップするように なっているんですけれども ここを Flip Horizontal を 選択しておくことで 画面がクルッと回転したような アニメーションを使うことが できるようになります それでは 「実行」ボタンを押して 実行を確認しましょう 「実行」ボタンを押して カウントダウンの画面に来ました そして「カウントダウンの開始」の ボタンを押しますと この様にクルッと画面が回転して スムーズに 設定画面から カウントダウンの画面に 移るようになったのが分かると思います このレッスンでは 時間設定の画面から カウントダウンの画面に対して 時間情報をどのように受け渡すのか ということを説明しました

はじめてのiOSアプリ開発

このコースではXcodeを使ったiOS用アプリの開発に必要な基礎知識を学びます。Xcodeの基本的な使い方から本格的なゲーム制作のためのSprite Kitを用いた制作方法まで、カウントダウンタイマーやスピード暗算ゲームなど3つの簡単なiOS用アプリを作りながら説明します。このコースを見れば、本当に必要なアプリ開発の知識を着実に身に付けられるでしょう!

5時間55分 (52 ビデオ)
現在、カスタマーレビューはありません…
 
ソフトウェア・トピック
価格: 2,990
発売日:2015年06月04日

このコースは、「オンデマンド」でご利用可能であり、ダウンロードすることもオンラインで見ることもできます。

ダウンロードすると、オフラインでコースを使用し、豊富なインターフェースをフルに活用できます。複数のデバイスを使用したり、 一度に全コースをダウンロードしたくない場合は、アカントにログインして、ストリーミング・ビデオとしてコースのレッスンを視聴してください。

ビデオトレーニングをお楽しみいただけますように! お問い合わせは、cs-jp@lynda.com宛までご連絡ください。