我需要我的应用程序在一天中的某个特定时间运行方法,我认为最好的方法是设置一个通知,以确定何时可以获得该时间。我之前使用过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];
答案 0 :(得分:1)
使用NSTimer类方法。创建计时器对象并相应地设置开火日期。在计时器回调方法实现方法中发布所需的通知。
替代方法是使用performSelector:withObject:afterDelay:。在选择器方法中发布所需的通知。