我刚刚尝试通过本地通知制作闹钟应用程序,但这并没有做到这一点,因为我需要一个警报才能出现,而不是进入iOS 5+的通知中心用NSTimer制作闹钟
到目前为止,我一直在努力与nstimer及其功能,所以我想知道如果有人可以帮忙。
我希望当用户选择一个时间(通过UIDatePicker,只有时间)在这个时候显示警报。我已经想出了如何从UIDatePicker获得时间,但我不知道如何正确设置nstimer的触发函数。这是我迄今为止所尝试的,如果有人能够帮助......非常感谢。谢谢
例(它不断进入功能每秒反对一定的时间,我告诉它太...不是我想要的):
NSDate *timestamp;
NSDateComponents *comps = [[[NSDateComponents alloc] init] autorelease];
[comps setHour:2];
[comps setMinute:8];
timestamp = [[NSCalendar currentCalendar] dateFromComponents:comps];
NSTimer *f = [[NSTimer alloc] initWithFireDate:timestamp
interval:0
target:self
selector:@selector(test)
userInfo:nil repeats:YES];
NSRunLoop *runner = [NSRunLoop currentRunLoop];
[runner addTimer:f forMode: NSDefaultRunLoopMode];
集'重复:NO' – Nate
@Nate但如果用户选择他们想重复鼻翼什么M&我不认为这是有道理的,因为它是每秒重复,而不是在我设定的时间重复(2:08)? –
对于闹钟应用程序,您在开始时无法知道用户是否会重复(打盹)。所以,当你第一次创建定时器时,你不能做出这个决定。当警报熄灭('test'),那么你需要决定是否创建一个新的定时器,并使用snooze *间隔* – Nate