当需要发送一个本地推送的时候,我们需要为其设置fireTime即发送时间,网上好多示例代码只是简单地将一个类似10秒之后的时间设上去,但我们可能更需要在自定义或用户定义的某个特定的时间发送,其实这也不难,算是OC的知识点了——对常用类之时间类的运用。
首先我们需要一个具体的时间Date,我们就根据这个时间来将其拆分。这个时间通常来自用户设定的时间。
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
formatter.dateFormat = @"yyyy-MM-dd HH:mm";
NSDate *testDate = [formatter dateFromString:model.testTime];
NSAssert(testDate != nil, @"testDate = nil");
其次,拆分时间需要的两个非常重要的类:NSCalender类和NSDateComponent类。初始化这两个变量,为NSDateComponent类指定Units。
//to set the fire date
NSCalendar *calender = [NSCalendar autoupdatingCurrentCalendar];
NSDateComponents *dateComponents = [calender components:N