セットアップは次のとおりです。
NSDateComponents* temporalComponents;
temporalComponents = [theDateComponents copy]; //another component set to todays date.
[temporalComponents setDay: [temporalComponents day] + (offset * 7)]
コンポーネントの結果を出力すると、たとえば 21 日など、日数が正しく追加されていることがわかります。
"<NSDateComponents: 0x6a48820>\n Calendar Year: 2012\n Month: 2\n Day: 49\n Hour: 13\n Minute: 12"
しかし、もちろん、この修正された「ラップされた」コンポーネント リストが必要です。ここでは、月が増分され、日が修正されます.. (主に、コンポーネントに追加するだけでなく、コンポーネント全体を置き換えることができるさらなる操作を行うため)言い換えれば、私の最終製品は NSDateComponent であるため、さらに操作できます。
"<NSDateComponents: 0x6a48820>\n Calendar Year: 2012\n Month: 3\n Day: 20\n Hour: 13\n Minute: 12"
現在、私はこれを行って、日を正しくラップしています(そして、ラップする必要があるものは何でも)
NSDate* tempDate = [CURRENTC dateFromComponents:temporalComponents];
temporalComponents2 = [CURRENTC components:unitFlags fromDate:tempDate];
[theDatesArray addObject: temporalComponents2];
何か良い方法はありますか?日付に行ったり、コンポーネントに戻ったりする必要はありません。私は成功せずにもっと良い方法を探しました。おそらく間違った用語で検索しています。