そのようなサードパーティの拡張機能はありNSDate
ますか?
日付を調整し(日/月/年を増減)、日付オブジェクトを同じメモリに保持するためのいくつかのメソッドが必要です(したがって、myDate = getNewDateByAdjustingOldOne (myDate);
受け入れられません)。
変更可能な日付がまだ実装されていない場合、内部データを取得することは可能ですか(クラスインターフェイスNSDate
の内部データへのアクセスがないことを考慮して)。NSDate
共有オブジェクトを必要とするすべてのオブジェクトにNSDate
、ポインターへのポインターを格納させることができます。
NSDate** pDate
次に、すべての操作を で実行し&pDate
ます。日付を調整しているクラスでは、リセットし続けるだけです
&pDate = NSDate* *newDate*
その後、すべてのオブジェクトが同期されます。
NSCalendar
とNSDateComponents
を変更可能な日付に使用できます。NSDateComponents
デフォルトの時間を加算/減算するために「既成」を設定するか、必要に応じてデフォルトを作成します。
NSDateComponents *comps = [NSDateComponents alloc] init];
comps.day = 1;
NSCalendar *cal = [NSCalendar currentCalendar];
// will wind up adding 1 day to the original date.
NSDate *newDate = [cal dateByAddingComponents:comps toDate:origDate options:NSWrapCalendarComponents];
Appleは、カレンダー計算に関するいくつかの素晴らしいドキュメントを作成しました。
本当に myDate = getNewDateByAdjustingOldOne (myDate); を実行することのメモリ オーバーヘッド。とても小さいので、本当に心配する必要はありません。時期尚早の最適化は、完全に回避可能なバグにつながる可能性があります。