0

让我再试一次更清楚,我很抱歉。\ 我正在考虑尝试在 iOS 中向我的照片分配应用程序添加日期特定提醒。我希望能够拥有它,这样它就会在一年中的确切日期发出提醒,引导他们完成一年中那个时候的任务

例如:

12月31日-除夕-拍摄烟花,派对7月1日-加拿大日照庆祝活动,10月30日-万圣节前的烟花-拍摄南瓜,12月15日服装-圣诞灯!

等等。

我已经设置了一个每日提醒,每天早上 9 点触发,提醒他们完成一项任务,用户可以通过设置包中的拨动开关打开或关闭该任务。我希望有另一个“假期提醒”

这是我当前的每日提醒代码:

NSDateComponents *dateComponents = [calender components:(NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit)
                                                       fromDate:currentDate];

        NSDateComponents *temp = [[NSDateComponents alloc]init];

        [temp setYear:[dateComponents year]];
        [temp setMonth:[dateComponents month]];
        [temp setDay:[dateComponents day]];
        [temp setHour: 9];
        [temp setMinute:00];

        NSDate *fireTime = [calender dateFromComponents:temp];
        [temp release];

        // set up the notifier 
        UILocalNotification *localNotification = [[UILocalNotification alloc]init];

        localNotification.fireDate = fireTime;
        localNotification.timeZone = [NSTimeZone defaultTimeZone];

如何将实际日期(12 月 31 日)转换为fireDate = variable/string?

我希望这更清楚。我已经搜索过,但无法找到答案。谢谢

诺埃尔·切尼尔

4

1 回答 1

0

您只需要在创建 fireTime 时手动指定年、月和日。

NSDateComponents *dateComponents = [calender components:(NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit)
                                                   fromDate:currentDate];

    NSDateComponents *temp = [[NSDateComponents alloc]init];

    [temp setYear:2013];
    [temp setMonth:12];
    [temp setDay:31];
    [temp setHour: 9];
    [temp setMinute:00];

    NSDate *fireTime = [calender dateFromComponents:temp]; // December 31st 2013 9:00
    [temp release];

    // set up the notifier 
    UILocalNotification *localNotification = [[UILocalNotification alloc]init];

    localNotification.fireDate = fireTime;
    localNotification.timeZone = [NSTimeZone defaultTimeZone];
于 2013-01-28T01:40:01.170 回答