ストップウォッチ+時計アプリ完成
前回まで作っていたストップウォッチアプリをタブバーアプリケーションにして、時計のタブと切り替えられるようにした。
作成手順(ざっくり)
時計アプリのソース(抜粋)
.h
#import <UIKit/UIKit.h> @interface ViewController2 : UIViewController{ NSTimer *timer; } @property (weak, nonatomic) IBOutlet UILabel *lbl; -(void)onTimer:(NSTimer*)timer; @end
.m
- (void)viewDidLoad { [super viewDidLoad]; timer = [NSTimer scheduledTimerWithTimeInterval:(1.0) target:self selector:@selector(onTimer:) userInfo:nil repeats:YES]; } -(void)onTimer:(NSTimer*)timer { NSDate* now = [NSDate date];//現在時刻取得 NSCalendar *calendar = [NSCalendar currentCalendar]; NSDateComponents *dateComps = [calendar components:NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit fromDate:now]; self.lbl.text = [NSString stringWithFormat:@"%d年 %02d月 %02d日 %02d時 %02d分 %02d秒", dateComps.year, dateComps.month, dateComps.day, dateComps.hour, dateComps.minute, dateComps.second]; }
時計アプリのポイント
現在時刻の取得と、それをバラして表示するという部分。
バラす処理を書くのに参考にしたのは、ここ。
バラした値をラベルに入れるための文字列に整形する処理を書くときに参考にしたのはここの最後あたり。
3つ目のチュートリアルを終えて
今回は地味に時間がかかった。
ドットインストールの学習のときにホイホイViewControllerを追加したけどコードは書く必要がなかったのが仇になった形だ。
その分苦しみながらノウハウがついたと思えば結果オーライだと考えたい。
今回のアプリ作成の一番のポイントは、複数ViewControllerをStoryboardで作成したときに、どうやってソースと結びつけるかという点。
Xcode4.4でViewControllerを追加する方法 - yamekodevの日記
で書いたことを忘れないようにしたい。
タブバーアプリケーションの難しさというよりも、複数Viewアプリケーションの難しさを感じたアプリ作成だった。