0

我使用 [[UIApplication sharedApplication] scheduledLocalNotifications] 获得了所有计划通知的列表。

现在我想要所有被触发的数组将它与今天的日期进行比较,并给出一个警报视图,告诉今天到期的提醒。我是通过这种方式做到的,但不确定它是否能正常工作。请纠正我,因为我是 iPhone 开发的新手。

NSArray *arrayoflocalnotifications = [[NSArray alloc] initWithArray:[[UIApplication sharedApplication]scheduledLocalNotifications]];

for (UILocalNotification *localnotif in arrayoflocalnotifications)
{
     NSLog(@"array of firedate is %@", localnotif);

    if ([localnotif.fireDate isEqualToDate:[NSDate date]])
    {
        NSLog(@"Got a duetoday reminder...");

        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"AlertView" message:@"Due reminder for today" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"Ok", nil];
        [alert show];
        [alert release];
    }

}
4

1 回答 1

0

只需使用 compare: 函数来比较两个不同的日期。像这样使用它;

if(localnotif.fireDate compare:[NSDate date] == NSOrderedSame){
 // perform your operation here
}

compare:通过将日期与NSOrderedAscending/NSOrderedDescending进行比较,可以灵活地比较日期是在某个日期之前还是之后。

于 2012-10-31T11:34:56.617 回答