3

我刚刚尝试制作一个带有本地通知的闹钟应用程序,但这并没有成功,因为我需要出现一个警报而不是它进入 iOS 5+ 的通知中心

到目前为止,我一直在努力使用 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]; 
4

1 回答 1

2

正如@Nate所说的改变

NSTimer *f = [[NSTimer alloc] initWithFireDate:timestamp
                             interval:0
                               target:self
                             selector:@selector(test)
                             userInfo:nil repeats:YES];

NSTimer *f = [[NSTimer alloc] initWithFireDate:timestamp
                             interval:0
                               target:self
                             selector:@selector(test)
                             userInfo:nil repeats:NO]; //<-- Change here
于 2012-07-02T09:18:45.460 回答