-1

Objective-C の学習を始めたばかりで、自分が生きていた秒数を調べるコードを書いています。

    NSDateComponents *comps = [[NSDateComponents alloc] init];
                      [comps setYear:1990];
                      [comps setMonth:2];
                      [comps setDay:12];
                      [comps setHour:1];
                      [comps setMinute:1];
                      [comps setSecond:0];

                               NSCalendar *g = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
                               NSDate *dateOfBirth = [g dateFromComponents:comps];

                     double d = [g timeIntervalSinceDate:dateOfBirth]; // getting error "no visible @interface for NSCalander declares the select timeIntervalSince"

                     NSLog(@"i have been alive for %d", d);

このエラーについて他にもいくつか質問がありますが、コードで回答を使用できないようです。

どんな助けでも素晴らしいでしょう、乾杯!

4

1 に答える 1

3

" timeIntervalSinceDate:"は NSCalendar ではなく、NSDate のメソッドです。

コードを次のように変更した場合:

NSTimeInterval d = [[NSDate date] timeIntervalSinceDate: dateOfBirth];

より幸せな結果が得られる可能性があります (私の 1 行のコードで、現在の日付/時刻と生年月日の間の時間間隔が得られるはずです)。

于 2013-06-15T12:47:48.177 に答える