[Objective-C 2.0] NSDate
この記事は最終更新日から16年以上経過しています。
NSDateは一部の関数が実機でサポートされていないので、
時計を作る際シミュレーターでは動作しても、実機にインストールするとエラーが出ます。
(追記:iPhone Simulator 3.0からは出るようなったみたい…)
コピーしました
//時間を算出
NSDate* now = [NSDate date];
int hour = [[now dateWithCalendarFormat:nil timeZone:nil] hourOfDay];
int min = [[now dateWithCalendarFormat:nil timeZone:nil] minuteOfHour];
int sec = [[now dateWithCalendarFormat:nil timeZone:nil] secondOfMinute];
NSLog(@"%i:%i:%i",hour,min,sec);そのままでも大体動作するのだけれど、黄色いエラー表示が見えるのも気持ち悪いので、
下記のように記載する事でエラーを回避できるようです。
コピーしました
//時間を算出
NSDate* now = [NSDate date];
NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
[dateFormatter setDateFormat:@"HH"];
int hour = [[dateFormatter stringFromDate:now] intValue];
[dateFormatter setDateFormat:@"mm"];
int min = [[dateFormatter stringFromDate:now] intValue];
[dateFormatter setDateFormat:@"s"];
int sec = [[dateFormatter stringFromDate:now] intValue];
NSLog(@"%i:%i:%i",hour,min,sec);