是否可以从scheduledLocalNotifications数组中的对象获取时间?

时间:2013-11-15 15:54:45

标签: ios objective-c uilocalnotification

我希望向我的用户显示,当下一次本地通知时,在环顾四周后我发现了有关scheduledLocalNotifications的信息,这是一个存储我的应用创建的所有通知的数组。

我只想获得Minutes和hours,但是当我在数组中的对象上执行NSLOG时,它会显示我的很多信息。

这是我访问的方式:

   UIApplication *meuApp = [UIApplication sharedApplication];
     NSArray *arrayDeNotificacoes = [meuApp scheduledLocalNotifications];

     if (arrayDeNotificacoes.count == 0) {
     NSLog(@"NO");
     } else {
         NSLog(@"Yeap!");
         NSLog(@"%@", arrayDeNotificacoes[0]);
     }

这就是我的回忆:

  

2013-11-15 13:53:57.300定时器V [574:70b]   {开火日期= 11月15日星期五   15,2013 at 4:53:31 PM巴西利亚夏令时,时区=   America / Sao_Paulo(GMT-2)偏移-7200(日光),重复间隔=   0,重复计数= UILocalNotificationInfiniteRepeatCount,下一次开火   日期= 2013年11月15日星期五下午4:53:31巴西利亚夏令时间,   用户信息=(null)}

那么如何才能只显示小时和分钟,以便向用户显示?

1 个答案:

答案 0 :(得分:3)

访问通知上的fireDate属性:

UILocalNotification *not =  arrayDeNotificacoes[0];
NSDate *notDate = not.fireDate;

拥有NSDate,只需创建一个形成器来显示小时和分钟:

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"HH:mm"];

NSString *stringFromDate = [formatter stringFromDate:notDate];