Ativar notificação local com base no tempo em segundo plano

Então eu tenho um aplicativo que inclui a notificação local de intervalos de repetição e gostaria de adicionar um recurso que irá pausar as notificações durante o tempo de sono.

Até agora, criei dois separadores de data para o usuário especificar de que horas eles gostariam de interromper o intervalo de repetição e a hora de reiniciar automaticamente. E eu adicionei um uiswitch para eles para ativar o modo de suspensão ou ignorar o recurso.

Agora, como eu faria meu uipickerview principal - (que eles escolhem lá notificação daqui) - para ouvir o uiswitch se ele estiver ligado, então pause as notificações no momento que vem do meu primeiro datepicker e reintitique as notificações no tempo que vem do segundo datepicker?

Eu já configurei meus datepickers e meu uiswitch, mas não tenho idéia de como implementá-lo com o meu uipickerview .. Deve ser sob o método de DidSelectRow? Ou um método em appdelegate (como DidEnterBackground)?

Por favor, pergunte se você precisa de mais informações ou códigos para entender a ideia e me ajudar. Obrigado.

ADICIONAR:

Aqui está o meu código que eu preparei para o datepicker, no entanto, eu só estou perdendo a conexão para adicioná-lo à minha opinião do selecionador corretamente.

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
dateFormatter.timeZone=[NSTimeZone defaultTimeZone];
dateFormatter.timeStyle=NSDateFormatterShortStyle;
dateFormatter.dateStyle=NSDateFormatterShortStyle;
NSString *dateTimeString=[dateFormatter stringFromDate:startTime.date];
NSLog(@"Start time is %@",dateTimeString);


NSDateFormatter *dateFormatter2 = [[NSDateFormatter alloc]init];
dateFormatter2.timeZone=[NSTimeZone defaultTimeZone];
dateFormatter2.timeStyle=NSDateFormatterShortStyle;
dateFormatter2.dateStyle=NSDateFormatterShortStyle;
NSString *dateTimeString2=[dateFormatter2 stringFromDate:endTime.date];
NSLog(@"End time is %@",dateTimeString2);

Eu também tenho esse código para comparar entre os tempos:

if ([[NSDate date] isEqualToDate:startTime.date]) {
NSLog(@"currentDate is equal to startTime"); 
}

if ([[NSDate date] isEqualToDate:endTime.date]) {
NSLog(@"currentDate is equal to endTime"); 
}

questionAnswers(2)

yourAnswerToTheQuestion