如果当前日期字段发生变化,是否有通知方式?
如果是的话怎么样?
如果不是我怎么能这样做?
我需要将NSDate
永久地与当前日期进行比较,并知道它们之间的差异何时为10分钟。
精密:
我有NSDate *futurDate
例如:05/12/2015 05:00 AM。
和当前日期NSDate *currentDate = [NSDate date];
(2015年12月5日03:00)
当currentDate将于2015年12月5日上午04:50发布时,我需要收到通知。
由于
答案 0 :(得分:1)
您需要做的就是建立一个10分钟前的日期,然后使用新日期作为目标。
NSDate *futureDate = ...; // Tell me when it's 10 minutes before this date.
NSDate *reminderDate = [futureDate dateByAddingTimeInterval:-1 * 60 * 10]; // Date 10 minutes earlier.
NSDate *now = [NSDate date];
if ([reminderDate timeIntervalSinceDate:now] < 0) {
// It is currently within 10 minutes of future date.
} else {
// Schedule a timer to fire in the number of seconds between
// the current date and our desired reminder date.
[NSTimer scheduledTimerWithTimeInterval:[reminderDate timeIntervalSinceDate:now]
target:self
selector:@selector(timerHandler:)
userInfo:nil
repeats:NO];
}
- (void)timerHandler:(NSTimer *)timer {
// It's now within 10 minutes of future date.
}