0

Cocoa アプリケーションを作成していますが、毎日更新できるようにしたいと考えています。(このアプリは個人用です) 毎日決まった時間にアップデートを行いたいので、その時間にパソコンを起動するように設定しています。アプリで通知オブザーバーを設定すると、アプリがコンピューターが起動通知を受け取った場合にこの機能が実行されます。

- (void) receiveWakeNote: (NSNotification*) note
{
   [self conductBeginning];
}

ウェイクアップ通知が特定の時間、たとえば 16:00 から 16:15 の間に発生したことを確認してから、

[self conductBeginning];

ライン。

4

2 に答える 2

2
NSDate *now = [NSDate date];

NSUInteger units = NSHourCalendarUnit | NSMinuteCalendarUnit;
NSDateComponents *components = [[NSCalendar currentCalendar] components:units
                                                               fromDate:now];
if (components.hour == 16 && components.minute <= 15)
    NSLog(@"it's time");
于 2012-08-24T16:59:09.527 に答える
0

このようなもの:

NSDate * aDate = ...;
NSDate * bDate = ...;

NSTimeInterval a = [aDate timeIntervalSinceNow];
NSTimeInterval b = [bDate timeIntervalSinceNow];
NSTimeInterval min = a > b ? b : a;
NSTimeInterval max = a < b ? b : a;
NSTimeInterval now = CFAbsoluteTimeGetCurrent();

bool result = now >= min && now <= max;
于 2012-08-24T16:47:27.003 に答える