Pergunta

Estou mergulhando no desenvolvimento para iOS e trabalhando em um aplicativo de despertador para me familiarizar com a plataforma iOS e o SDK.Estou usando Notificações Locais para lidar com meus alarmes, mas preciso de algum método para gerenciar as Notificações Locais que defini para que possam ser atualizadas se eu editar ou remover qualquer um dos alarmes associados a elas.Eu descobri como posso desmarcar uma notificação local usando cancelLocalNotification: função depois de agendada, mas estou tendo dificuldade em descobrir como recuperar o objeto Notificação Local associado ao alarme que foi editado ou removido para que eu possa usar essa função.Devo observar que todos os meus objetos de alarme usados ​​para criar as Notificações Locais estão sendo armazenados em um banco de dados Core Data e sua interface é definida como...

@interface Alarm :  NSManagedObject  
{
}

@property (nonatomic, retain) NSNumber * Snooze;
@property (nonatomic, retain) NSNumber * AlarmID;
@property (nonatomic, retain) NSString * Label;
@property (nonatomic, retain) NSDate * Repeat;
@property (nonatomic, retain) NSDate * Time;
@property (nonatomic, retain) NSNumber * Enabled;
@property (nonatomic, retain) NSString * Song;
@property (nonatomic, retain) NSString * Sound;

@end
  1. Qual é uma boa maneira de gerenciar as Notificações Locais que meu aplicativo agenda para que eu possa posteriormente recuperar esses objetos de Notificação Local e reagendá-los, se necessário?
  2. Existe uma maneira de recuperar as notificações locais agendadas pelo seu aplicativo?
  3. Em caso afirmativo, existe uma maneira de identificá-los de forma única?

Muito obrigado antecipadamente por sua ajuda!

Foi útil?

Solução

Para responder à pergunta nº 2, use scheduledLocalNotifications, que retornará ao NSArray todas as notificações agendadas para seu aplicativo.

Para responder à pergunta nº 3, use userInfo propriedade de UILocalNotification aula.É um dicionário e você pode salvar o que quiser lá.

Outras dicas

  1. Você pode recuperar todas as notificações locais que seu aplicativo agendou usando o método UIApplication classes ScheduledLocalNotifications.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top