EKAlarm / EKEvent - PullRequest
       3

EKAlarm / EKEvent

1 голос
/ 02 января 2012

Я пытаюсь создать приложение, которое может просматривать события календаря. Я могу прочитать все свойства, но у меня проблемы с EKAlarm. Когда я делаю NSLog в цикле for, он подтверждает, что он должен войти в 15-минутный журнал аварийных сигналов, но он проходит через него.

for (int i = 0; i < [event1.alarms count]; i++) {

    if ([event1.alarms objectAtIndex:i]  ==  [EKAlarm alarmWithRelativeOffset:-900]) {
        NSLog(@"alarm: 15 min before");
    }else if([event1.alarms objectAtIndex:i] == [EKAlarm alarmWithRelativeOffset:-1800]) {
        NSLog(@"alarm: 30 min before");

    }else if([event1.alarms objectAtIndex:i] == [EKAlarm alarmWithRelativeOffset:-3600]) {
        NSLog(@"alarm: 1 hour before");

    }else if([event1.alarms objectAtIndex:i] == [EKAlarm alarmWithRelativeOffset:-86400]) {
        NSLog(@"alarm: 1 day before");

    }

}

1 Ответ

3 голосов
/ 02 января 2012

Здесь вы сравниваете указатели между EKAlarms, которые вы сохранили в NSArray, и вновь созданными сигналами, которые вы выделяете во время сравнения.

Что вы можете использовать для проверкиравенство - это свойствоlativeOffset в ваших тревогах.

Что-то вроде:

for (int i = 0; i < [event1.alarms count]; i++) {

    NSTimeInterval offset = [[event1.alarms objectAtIndex:i] relativeOffset];

    if (offset == -900) {
        NSLog(@"alarm: 15 min before");
    }
    else if(offset == -1800) {
        NSLog(@"alarm: 30 min before");
    }
    else if(offset == -3600) {
        NSLog(@"alarm: 1 hour before");
    }
    else if(offset == -86400) {
        NSLog(@"alarm: 1 day before");
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...