質問

以下のような問題:う必要がありNSMutabeArrayとの平日毎日後、特定の日です。

このようになっているでしょう:

  • 28日(木)~2010年
  • 04日(木曜日)2010年
  • 木曜11月2010年
  • ...

する方法を教えてください。と思うので、あなたNSCalendar出すことはできなかったがんに最適なソリューションを提供...なってい?

よろしくお願いし

FFraenz

役に立ちましたか?

解決

無限級数です。 NSMutableArrayのは有限のコレクションを保持することができます。

いずれにせよ、あなたは、2010年10月28日として、シリーズの唯一のメンバーを必要としています。その後木曜日を取得するには、1週間を追加します。直列に第三の日付を取得するには、最初の日付に二日、二週間に一週間を追加します。シリーズの任意のメンバーを持つことは、一連の他のメンバーへのアクセスを提供します。

あなたが右の平日ではありません日から開始している場合は、その日付の日付コンポーネントを取得し、その月のその日に、正しい平日、それが持っている平日の違いを追加し、修正された日付を変換しますコンポーネントは、現在までにバックアップ。その日は、同じ週に希望平日になります。

他のヒント

実際の日付を持ってます:

NSDate *today = [[NSDate alloc] init];

を追加するには、週ます:

NSDate *nextDate = [today dateByAddingTimeInterval:60*60*24*7];

次に、あなたがあなたの配列を反復処理して作成することができます:

NSMutableArray* dates = [[NSMutableArray alloc] init];
NSDate *date= [[NSDate alloc] init];

NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *offsetComponents = [[NSDateComponents alloc] init];
[offsetComponents setWeek:1];

for (int i=0;i<10;i++) {
  NSDate *nextDate = [gregorian dateByAddingComponents:offsetComponents toDate:date options:0];
  [dates addObject:date];
  [date release];
  date = nextDate;
}
[date release];
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top