我有以下代码向用户发送推送通知,最初所有这些代码都采用当前日期,并从推送的当前日期增加5秒:
NSDate *now = [NSDate date];
NSDate *dateToFire = [now dateByAddingTimeInterval:5];
就我而言,我正在开发一个提醒系统,在这种情况下,我已经通过NSString中存储的用户数据预先定义了日期:
NSString *dateStore = @"2014-10-15 11:30:15 +0000"; //Date that the notification will be executed
NSDate *now = [NSDate date]; // has the value 2014-10-15 11:28:15 +0000
NSDate *dateToFire = [now dateByAddingTimeInterval:dateStore];
不幸的是,变量dateToFire无法处理此信息,并且当有两分钟的运行时,屏幕上会立即显示通知(按当前日期减去的数据等于2分钟)。
我该如何解决这个问题?
答案 0 :(得分:0)
#pragma mark - MinuteCalculate
-(void)MinuteCalculate{
NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:1.0
target:self
selector:@selector(onTimer:)
userInfo:nil
repeats:YES];
[[NSRunLoop currentRunLoop] addTimer:timer forMode:NSDefaultRunLoopMode];
}
-(void)onTimer:(NSTimer *)sender{
int seconds+= 1.;
NSLog(@"Second Count:- %d",seconds);
if (seconds==60) {
[timer invalidate];
// When second count 60 then it's called.
}
}