Активация будильника iPhone и создание звука - PullRequest
0 голосов
/ 06 декабря 2011

Первое сообщение и первое приложение для iPhone находятся в стадии разработки, поэтому, пожалуйста, извините за любые ошибки n00b.У меня проблемы с активацией будильника.У меня есть Datepicker и кнопка как суть кода.Вот файл .h

@interface Alarm : UIViewController

@property (retain, nonatomic) NSDate *alarm;
@property (retain, nonatomic) IBOutlet UIButton *sleepButton;
@property (retain, nonatomic) NSTimer *timer;
@property (retain, nonatomic) IBOutlet UIDatePicker *timePicker;

- (IBAction)startAlarm:(id)sender;
- (void)checkAlarm;

@end

А вот файл .m.

- (IBAction)startAlarm:(id)sender
{
    self.alarm = [self.timePicker date];

self.timer = [NSTimer scheduledTimerWithTimeInterval:(1.0) target:self selector:@selector(checkAlarm) userInfo:nil repeats:YES];
{

- (void)checkAlarm
{
    // alarm is reached
    if ([NSDate date] == self.alarm)
    {
         // rest of code goes here
    }
{

Я также понятия не имею, как сделать звук и заставить его повторяться, так что если я смогуполучить некоторые рекомендации о том, как это сделать, это было бы здорово.Спасибо!

1 Ответ

0 голосов
/ 08 декабря 2011

Проблема здесь:

if ([NSDate date] == self.alarm)

Даты имеют разрешение в миллисекундах, а таймер срабатывает только один раз в секунду - шансы на идеальное выравнивание довольно малы.

Вместо этого вы должны проверить:

if ([[NSDate date] compare: self.alarm] == NSOrderedDescending)

чтобы проверить, прошла ли дата тревоги.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...