私は、Objective-C プログラミング、The Big Nerd Ranch Guide の課題に取り組んでいますが、その課題の 1 つに少し困惑しています。
NSDate の 2 つのインスタンスを使用して、何秒間生きているかを計算します。ヒント: 年、月などから新しい日付オブジェクトを作成する方法は次のとおりです。
そのため、現在と生年月日の差を秒単位で求める必要があります。いいですね。次に、ヒントが表示されます。
@autoreleasepool {
NSDateComponents *comps = [[NSDateComponents alloc] init];
[comps setYear:1981];
[comps setMonth:7];
[comps setDay:12];
[comps setHour:1];
[comps setMinute:55];
[comps setSecond:33];
NSCalendar *g = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDate *dateOfBirth = [g dateFromComponents:comps];
最初の問題は、私が何*g
を意味するのか理解していないということです。NSCalendar オブジェクトへのポインターであることはわかっています。しかし、なぜそれが必要なのでしょうか? そして、何をg
意味するのですか?
次に、サンプル コードはg
変数を使用して日付を取得します。別の言語では、これはDateDiff(dateOne, dateTwo, interval)
. そもそも Calendar オブジェクトが必要な理由と、オブジェクトをフィードするために日付コンポーネントを作成する必要がある理由がよくわかりません。
これは私にとってまったく新しいことであり、過去に動的言語を扱ったことがあります。したがって、「ダミー」のような説明は素晴らしいでしょう!