2010-07-15 38 views
0

我试图设置一个UILocalNotification对象的repeatInterval属性。它适用于NSDayCalendarUnit,但我需要设置每三天的重复间隔。 我试过NSDayCalendarUnit + 3,但那不起作用。有任何想法吗?如何在iPhone应用中使用NSDayCalendarUnit

更新:
不,这是行不通的。如果我安排

localNotify.repeatInterval = NSDayCalendarUnit 

日志显示:

<UIConcreteLocalNotification: 0x71aabf0>{fire date = 2010-07-16 02:40:00 -0400, time zone = US/Eastern (EDT) offset -14400 (Daylight), repeat interval = 16, next fire date = 2010-07-16 02:40:00 -0400} 

如果我安排

localNotify.repeatInterval = NSDayCalendarUnit*3 

日志显示:

<UIConcreteLocalNotification: 0x71b4ae0>{fire date = 2010-07-16 02:30:00 -0400, time zone = US/Eastern (EDT) offset -14400 (Daylight), repeat interval = 48, next fire date = 2010-07-17 03:30:00 -0400} 

所以重复间隔前进一小时在第二天,而不是我希望这是3天内重复的时间。
有什么建议吗?

+0

+3是一个不好的选择(你对隐含的单位是什么进行隐含的假设)。 * 3更好,但即使如此我也不确定。 – SK9 2011-08-12 08:15:04

回答

0

我会使用NSDayCalendarUnit * 3来表示3天。它工作吗?

1

NSDayCalendarUnit是一个枚举常量;算术对它没有明显的意义。

我不相信当前的本地通知API允许您想要的时间间隔。您应该使用Apple的file a bug report,并要求对本地通知进行更精细的控制。

+0

谢谢。我会去做。同时,你知道这个解决方法吗? – Kwame 2010-07-16 16:43:28

+0

正如我所说,我不认为有任何办法。这是目前的'UILocalNotification' API的限制。抱歉。 – 2010-07-16 16:47:41

+0

如果我知道某种方法来抑制通知(但不能完全取消通知),那么我可能会想出一些办法,这样我可以使用NSDayCalendarUnit来安排repeatInterval,并且直到选择一个日期为止都会禁止通知。 所以我现在需要的是一种压制UILocalNotification的方法! – Kwame 2010-07-16 16:52:19

相关问题