Установить фиксированную дату для fireDate? Xcode - PullRequest
0 голосов
/ 13 октября 2011

Мне нужно установить несколько огненных дат. И мне интересно, как установить будильник на определенную дату и время?

Ответы [ 2 ]

1 голос
/ 13 октября 2011
NSDate *date = //set the date
NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:1000 target:target selector:@selector(aSelector) userInfo:userInfo repeats:NO];
[timer setFireDate:date]; 

или

NSDate *date = //set the date
NSTimer *timer = [[[NSTimer alloc] initWithFireDate::1000 target:target selector:@selector(aSelector) userInfo:userInfo repeats:NO] autorelease];
[timer setFireDate:date]; 
[[NSRunLoop currentRunLoop] addTimer:timer forMode:currentMode];
0 голосов
/ 17 декабря 2012

Я знаю, что это, вероятно, давно пора, но вот мой взгляд на это:

NSDateComponents *dateComponents = [[NSDateComponents alloc] init];
[dateComponents setHour:13];
[dateComponents setMinute:0];
[dateComponents setSecond:0];
[dateComponents setDay:17];
[dateComponents setMonth:12];
[dateComponents setYear:2012];
NSCalendar *gregorian = [[NSCalendar alloc]
                     initWithCalendarIdentifier:NSGregorianCalendar];
NSDate *date = [gregorian dateFromComponents:components];

проверьте это для лучшей справки https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/DatesAndTimes/Articles/dtCalendars.html

...