0

我需要我的应用程序在一天中的某个时间运行方法,我认为最好的方法是设置一个通知它何时到达那个时间。我以前使用过 NSNoticationCenter,但我不确定如何在一天中的某个时间设置它。

编辑:我将使用 NSTimer 以不同的方式进行处理。这是我的代码

    NSCalendar* myCalendar = [NSCalendar currentCalendar];
NSDateComponents* components = [myCalendar components:NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit
                                             fromDate:[NSDate date]];
[components setHour: 10];
[components setMinute: 5];
[components setSecond: 0];
NSDate *date = [myCalendar dateFromComponents:components];

NSTimer *t = [[NSTimer alloc] initWithFireDate:date
                                      interval:0.0
                                        target:self
                                      selector:@selector(fired:)
                                      userInfo:nil
                                       repeats:YES];
[[NSRunLoop mainRunLoop] addTimer:t forMode:NSDefaultRunLoopMode];
4

1 回答 1

1

使用NSTimer类方法。创建计时器对象并相应地设置触发日期。在计时器回调方法中实现方法来发布所需的通知。

另一种方法是使用performSelector:withObject:afterDelay:。在选择器方法中发布需要通知。

于 2013-04-25T04:19:09.297 回答