将实际日期转换为ios上位置通知的开火日期字符串

时间:2013-01-27 19:50:18

标签: ios uilocalnotification

让我再次尝试这一点,我的道歉。     \ 我正在尝试向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 = 变量/字符串?

我希望更清楚。我已经搜索过,但未能找到答案。 谢谢

Noel Chenier

1 个答案:

答案 0 :(得分: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];