Swift NSTimerを使ってカウントダウンタイマーアプリを作ってみましょう。

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

Swiftを使ったプログラミングのお話です。

今回はNSTimerを使ってカウントダウンタイマーアプリをサクッと作ってみましょう。

 

カウントダウンタイマーを作成します

それでは早速始めましょう!

まずはxcodeで新しいプロジェクトを作ってみましょう。

基本的にアプリのプログラミングは Single View Application を使うのが良いでしょう。…ということで、Single View Application を選択します。

001

 

そしてプロジェクトの名称を付けますが、私は Timer という名称にしました。お好きな名前をつけて頂ければ良いでしょう。

002

 

準備ができたら早速 Main Story Board を開き、 Label を配置しましょう。テキストの装飾やレイアウトなどはお好きなように調整してみてくださいね。私は説明をわかりやすくするために画面の中央に大きな文字で配置しました。

003

 

次に配置したラベルと対応するViewControllerをoutlet接続します。丸が重なっているアイコンを選択し、Main Story Boardの横にViewControllerを表示したら、ラベルをクリックし、controlを押しながらドラッグします。ちなみに私はこの接続に timer と名付けました。

004

 

ここまでできたら次はViewControllerでの作業に移ります。

ViewController classに以下を追記します。ちなみに今回の例ではカウント100から0まで100秒間のカウントダウンを行います。

var timeCount = 100
var myTimer = NSTimer()
005

これで初期状態のセットとタイマーメソッドの定義ができました。

 

次にタイマーを動かすための関数を追記します。内容は以下の通りです。
func timerUpdate() {
timeCount -= 1
timer.text = “TIME: \(timeCount)”
if timeCount < 1 {
myTimer.invalidate()
}
}

006

この関数により、1秒経過ごとにカウント数を-1してラベルの表記を書き換えることになります。

ひとつ注目しておきたいのは、最後の部分で、if timeCount < 1 つまり、timeCountが1より小さくなった時点で myTimer.invalidate() つまりタイマーを強制停止させている点です。

これにより、カウントダウンがゼロで停止することになります。

 

最後に override func viewDidLoad() { 内に以下の記述を施します。
myTimer = NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: #selector(ViewController.timerUpdate), userInfo: nil, repeats: true)
007

この記述により、タイマーを1.0秒ごとに連続して動作させることになります。

 

アプリを動かしてみます

シミュレーターでアプリを動かしてみると…

simulator-screen-shot-2016-09-16-9-48-15

simulator-screen-shot-2016-09-16-9-49-52

タイマーが動作し、カウントゼロで停止しました。

この基本的な機能を使って色々と応用ができそうですね。

ぜひお試しあれ。

スポンサーリンク

1 2 3 4 .. 100

詳細!Swift iPhoneアプリ開発 入門ノート iOS 12+Xcode 10対応 [ 大重美幸 ]

詳細!Swift iPhoneアプリ開発 入門ノート iOS 12+Xcode 10対応 [ 大重美幸 ]
3,456 円 (税込) 送料込
大重美幸 ソーテック社ショウサイ スイフト アイフォーンアプリカイハツ ニュウモンノート アイオーエス ジュウニ エックコードジュウ タイオウ オオシゲヨシユキ 発行年月:2018年11月02日 予約締切日:2018年09月26日 ページ数:656p サイズ:単行本 ISBN:9784800..

[改訂新版]Swiftポケットリファレンス【電子書籍】[ WINGSプロジェクト 片渕彼富【著】 ]

[改訂新版]Swiftポケットリファレンス【電子書籍】[ WINGSプロジェクト 片渕彼富【著】 ]
3,110 円 (税込) 送料込
<p>Swift 4の登場に合わせて内容を刷新したポケットリファレンスの改訂版です。Swiftは2014年に誕生したばかりの若いプログラミング言語ということもあり,アップデートのたびに改良・改変される内容もまだ多くあります。そのようなSwiftを使いこなすうえで,困ったときに..

スイフトスポーツ ブッシュ・マウント ZC31S 【ロアーアームブッシュセット(Rr側2個セット)】スイフトZC/ZD11/21S、スイフトスポーツ..

スイフトスポーツ ブッシュ・マウント ZC31S 【ロアーアームブッシュセット(Rr側2個セット)】スイフトZC/ZD11/21S、スイフトスポーツ..
5,616 円 (税込) 送料込
サスペンション結合部のブッシュやマウントは路面からの振動や騒音を低減しますが、ゴム部分が柔らかいと路面状況の把握を鈍らせたり、ハンドル操作に瞬時に反応ができないという問題があります。モンスタースポーツの強化ゴムやピロボールはこうした問題を解決するため最適..

【あす楽対応】 12V 36連 3chip SMD/LED ルームランプ ルームライト マップ 室内灯 車内灯 T10 31 37 40 BA9S ウェッジ オデッセイ ス..

【あす楽対応】 12V 36連 3chip SMD/LED ルームランプ ルームライト マップ 室内灯 車内灯 T10 31 37 40 BA9S ウェッジ オデッセイ ス..
880 円 (税込)
評価 4.57
商品名 ■LEDルームランプ 36連 ホワイト 商品説明 ■最強LED「3chipSMD」採用で従来比約3倍の明るさ感!!■直視出来ないほどの明るさで車両の隅まで照らします!■薄さ約5mmのサイズで取り付け車種、場所を選びません!■サイズ可変式アダプター採用により取り付け可能車種多数..

エアロワイパー スイフト ZC72S/ZD72S H22.9〜 エアロワイパー グラファイト加工 U字フック 425mm×550mm 2本セット

エアロワイパー スイフト ZC72S/ZD72S H22.9〜 エアロワイパー グラファイト加工 U字フック 425mm×550mm 2本セット
1,730 円 (税込) 送料込
評価 2
エアロワイパー装着工程 ※必ず『カチッ』と音がするまで引き上げて下さい。 ※最後のロックストッパーも確実に元の位置に戻してください。 画像をクリックして拡大する 画像をクリックして拡大する あす楽,DIY,カーパーツ,カー用品,社外,カスタム,室内,車内,オプション,純正..

【ネコポス便対応可能商品】ボディノックシャープペン OLNO SWIFT<オルノスイフト> アクア(ブルー) トンボ SH-OLS41

【ネコポス便対応可能商品】ボディノックシャープペン OLNO SWIFT<オルノスイフト> アクア(ブルー) トンボ SH-OLS41
453 円 (税込)
評価 5
ボディの中ほどを押し曲げて芯を出すボディノック式のシャープ。 手に優しいラバーグリップは適切な硬度でより一層軽快な「ボディノック」を実現しました。 重厚感あるデザインがビジネスシーンにもマッチしそうな「OLNO」の上級モデルです。 【仕様】 ・本体サイズ:軸径14..

【送料無料】スイフト ZC72S ZD72S ZC32S デザインワイパー グラファイト ワイパー 運転席側 550mm 助手席側 430mm

【送料無料】スイフト ZC72S ZD72S ZC32S デザインワイパー グラファイト ワイパー 運転席側 550mm 助手席側 430mm
3,120 円 (税込) 送料込
■主な適合車種 スイフト 型式 : ZC72S ZD72S ZC32S ■サイズ 運転席側 : 550mm 助手席側 : 425mm ■U字フック接続部分の幅 横9mm 縦5mm ※お車によってはフックの幅、ホルダーの有無によりご利用いただけない場合もございますので、必ずご確認をお願い致します。 複数本まとめ..

【室内灯】スズキ スイフト[ZC72S/ZD72S]ラゲッジルームランプ(ラゲージ)対応LED T10 HIGH POWER 3CHIP SMD 4連[平4][うちわ型]ウェ..

【室内灯】スズキ スイフト[ZC72S/ZD72S]ラゲッジルームランプ(ラゲージ)対応LED T10 HIGH POWER 3CHIP SMD 4連[平4][うちわ型]ウェ..
1,280 円 (税込)
評価 3
スズキ スイフトZC72S/ZD72S対応 ラゲッジランプ T10 HIGH POWER 3CHIP SMD 4連ウェッジシングル球 LEDカラー:ホワイト 無極性タイプ HIGH POWER 3CHIP SMDを4個搭載。 スイフトZC72S/ZD72Sのラゲッジランプに最適なT10ウェッジバルブです。 11個の発光点から強烈なホワ..

スズキ スイフト スイフトスポーツ SUZUKI ZC/ZD #3系 ZC33S 専用 HAIGH社製 Sunland サンランド 立体成型 ダッシュマット ダッシュボ..

スズキ スイフト スイフトスポーツ SUZUKI ZC/ZD #3系 ZC33S 専用 HAIGH社製 Sunland サンランド 立体成型 ダッシュマット ダッシュボ..
13,500 円 (税込) 送料込
SUZUKI専用パーツ、国内正規品です。 SUZUKI SWIFT ZC/ZD #3系 ZC33SZC83S ZD83S ZC53S ZD53S ZC13S ZC43S ZC33S の車種適合です。 商品名 SUZUKI SWIFT ZC/ZD #3系 ZC33Sダッシュボードマット 適合車種 ■SUZUKI SWIFT ZC/ZD #3系 ZC33SZC83S ZD83S ZC53S ZD53S ZC13S ZC43S..

トリガー・フィンガー [2015] 750ml(オリン・スウィフト・セラーズ)グルナッシュ アメリカ/カリフォルニア ナパ・バレー 赤ワイン T..

トリガー・フィンガー [2015] 750ml(オリン・スウィフト・セラーズ)グルナッシュ アメリカ/カリフォルニア ナパ・バレー 赤ワイン T..
16,280 円 (税込)
商品名 トリガー・フィンガー [2015] 原産国/地域 アメリカ/カリフォルニア 容量 750ml タイプ 赤ワイン 品種 グルナッシュ 付属品 商品説明 プリズナーより希少なOrin Swift最新作「トリガー・フィンガー」が遂に入荷します!SQNに続くか…目指すは米国最上のグルナッシュ..

1 2 3 4 .. 100

楽天ウェブサービスセンター CS Shop
  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

SNSでもご購読できます。

Translate this page

おススメのページ

%d人のブロガーが「いいね」をつけました。