2011-10-26 8 views
0

私のプロジェクトのオブジェクトを格納するためにコアデータを使用しています。オブジェクトに日付フィールドがあります.Tickkuカレンダーコンポーネントのクリックした日付を確認したいです。オブジェクトの日付はTAPKUカレンダーの日付に対してNSDateをチェックする方法

2011-01-10の形式であり、地域対応日です。

tapkuカレンダーコントロールから返された日付と日付を確認するにはどうすればよいですか。

答えて

0

は、もう少し情報を行うことができますが、あなたはそれを使用できるようtapkuライブラリはNSDateの拡張メソッドは、isSameDayを呼びかけている:

if ([myDate isSameDay:returnedDate]) 
    // Do something here 

あなたが探しているものということですか?

2

することができますはい、ここで私はそれを動作させるためにやったことです:

方法について:(NSArrayの*)calendarMonthView:(TKCalendarMonthView *)monthView marksFromDate:(NSDate *)たstartDate toDateまで:(NSDate *)テストが追加通過するすべてのオブジェクトのための方法

  • :[NSArrayのindexesOfObjectsPassingTest]

    • は、通常のコアデータは、オブジェクトの配列でlastDateしたstartDateから毎日チェック
    • スタートを得るためにフェッチしてくださいlastDateマークarrにayを入力し、テスト日をキーにしてフェッチされたオブジェクトを値として追加する

    警告:日比較を有効にするには、NSDateオブジェクトを時間とGMT:0の日付にキャストしてください...ここで

    は、いくつかのコードです(...このハードな方法を学んだ)
    self.marksArray = [NSMutableArray array]; 
    self.dataDictionary = [NSMutableDictionary dictionary]; 
    
    NSCalendar *cal = [NSCalendar currentCalendar]; 
    [cal setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]]; 
    
    NSDateComponents *comp = [cal components:(NSMonthCalendarUnit | NSMinuteCalendarUnit | NSYearCalendarUnit | NSDayCalendarUnit | NSWeekdayCalendarUnit | NSHourCalendarUnit | NSSecondCalendarUnit) fromDate:start]; 
    
    NSDate *ds = [cal dateFromComponents:comp]; 
    
    // Init offset components to increment days in the loop by one each time 
    NSDateComponents *offsetComponents = [[NSDateComponents alloc] init]; 
    [offsetComponents setDay:1]; 
    
    
    while (YES) { 
        // Is the date beyond the last date? If so, exit the loop. 
        // NSOrderedDescending = the left value is greater than the right 
        if ([ds compare:end] == NSOrderedDescending) { 
         break; 
        } 
    
        NSIndexSet *indexes = [arrayWithObjectsFromCoreData indexesOfObjectsPassingTest: 
              ^BOOL (id el, NSUInteger i, BOOL *stop) { 
               NSDate *upd = [(YOUR_ENTINY *)el updated]; 
    
               NSDate *day=[self midnightUTC:upd]; 
               if([ds isSameDay:day]){ 
                return TRUE; 
               } 
               return FALSE; 
              }]; 
    
    
    
        if (indexes.count>0) { 
    
         [self.marksArray addObject:[NSNumber numberWithBool:YES]]; 
         [self.dataDictionary setObject:[wods objectsAtIndexes:indexes] forKey:ds]; 
    
    
        }else { 
         //no wods in this date 
         [self.dataArray addObject:[NSNumber numberWithBool:NO]]; 
        } 
    
        // Increment day using offset components (ie, 1 day in this instance) 
        ds = [cal dateByAddingComponents:offsetComponents toDate:ds options:0]; 
    
    
    
    } 
    [offsetComponents release]; 
    

    midnightUTC方法

    は、ここで見つけることができます: http://www.voidasterisk.org/post/4209842795/how-to-calculate-nsdate-of-midnight-in-ios

  • 関連する問題