Iphone 如何为Nslocal通知设置自定义重复间隔。。。。。?

Iphone 如何为Nslocal通知设置自定义重复间隔。。。。。?,iphone,objective-c,nsnotifications,nsnotificationcenter,Iphone,Objective C,Nsnotifications,Nsnotificationcenter,我是iphone开发新手。我正在尝试在我的项目中使用NslocalNotification。我需要每2小时、每两天或每两个月等提供一次Reminder。目前我使用的是NslocalNotification Repeat Interval。但使用Nscalender时,它每小时只工作一分钟 NSString *InterVal=[freQuencyArr objectAtIndex:index-2]; NSString *InterValType=[freQuenc

我是iphone开发新手。我正在尝试在我的项目中使用NslocalNotification。我需要每2小时、每两天或每两个月等提供一次Reminder。目前我使用的是NslocalNotification Repeat Interval。但使用Nscalender时,它每小时只工作一分钟

        NSString *InterVal=[freQuencyArr objectAtIndex:index-2];
        NSString *InterValType=[freQuencyArr objectAtIndex:index-1];
        if(![InterVal isEqualToString:@"Every"])
        {  
         result=[InterVal intValue];
        }else
          result=1;
        if([InterValType isEqualToString:@"Day"]){
             notification.repeatInterval= NSDayCalendarUnit;    
        }else if([InterValType isEqualToString:@"Week"]){
            notification.repeatInterval= NSWeekCalendarUnit;    
         }
        else if([InterValType isEqualToString:@"Month"]){
            notification.repeatInterval= NSMonthCalendarUnit;   
        }else if([InterValType isEqualToString:@"days"]){
             notification.repeatInterval=result*24*60*60;
        }
这里如果结果是2取决于间隔类型,我需要通知 这和我无关

         if([InterValType isEqualToString:@"days"]){
             notification.repeatInterval=result*24*60*60;
        }
@斯里尼瓦斯:

如果你看一下我在这个答案中发布的链接,你就会知道我已经尝试了这里的每一个可能的解决方案,尝试并做你目前想要做的事情

我已经尝试了所有这些来在我的应用程序中实现它,但这不起作用

我不敢这样说,但这是不可能的。它只允许将单位NSCalendarUnit对象设置为重复间隔

我花了近2个月的时间(我在2010年12月问了这个问题,并在2011年2月自己回答了这个问题)尝试并通过不同的文章和论坛实施互联网上所有可能的解决方案,但都没有起到任何作用

查看我的链接,并寻找所有的答案,如果有什么是对你有用的


非常希望这对您有所帮助。

UILocalNotification的
repeatInterval
属性不能用于重复少于每一个日历单位,即每天、每周、每月等


相反,您必须安排多个通知以达到预期效果,相应地设置
fireDate
属性。

正如lemnar所说,您无法使用repeatInterval以不同于Apple提供的日历单位的频率重复。因此,代码如下:

     if([InterValType isEqualToString:@"days"]){
         notification.repeatInterval=result*24*60*60;
    }
我什么都不会做。我还在自己开发的一个应用程序中使用重复通知,我解决这个问题的方法是创建多个通知,每个通知重复一次,以给出“期望的”重复频率。例如,如果我想“每2天”重复一次,我不能使用repeatInterval。然而,我的应用程序中有一个“调度功能”,可以创建多个单独的通知来实现这一点。我这样做的时间任意长度(在我的情况下,一周)。因此,在上面的示例中,当用户指定他/她从今天开始每隔两天需要一次通知时,我创建了3个通知(第3天、第5天和第7天各一个)

如果以少于一个日历单位的频率重复,事情会简单一些。假设我需要每12小时重复一次(早上6点和下午6点)。然后,我将创建两个通知(一个用于上午6点,另一个用于下午6点)。然后,我会将每个通知的repeatInterval设置为NSDayCalendarUnit。通过这种方式,我创建了一组每12小时重复一次的通知


当我的应用程序加载后,我会再出去7天,根据需要重新创建通知。这不是最优雅的解决方案,但这是我能想到的绕过重复间隔限制的最佳方法。

我的回答对您有帮助吗?这是一种药物应用程序,我们对同一药物名称有多个时间表。因此,如何设置每次点火日期。它适合每天、每月、分钟、小时工作。是否可以在数据库中创建NslocalNotification对象。如果可能,请提供一些指导。您完全有权,但是否有任何方法重复间隔。将通知对象存储在数据库中。请帮我解决问题。如果可能,请提供任何示例代码。。现在我决定我们不能更改自定义的重新设置间隔。是否有任何可能的解决方案不使用重复间隔来重复通知?@Srinivas:严肃地说,我认为我们无法通过任何方式来更改
通知。重复间隔
的接收者类型为
NSCalendarUnit
,我认为不可能我在想,我在项目中的要求是重复通知。是否可以将nslocalNotification对象存储在Db中?@Srinivas:我不这么认为,但可能你可以尝试使用blob数据类型。但老实说,我从来没有尝试过,也不太了解它。希望这能有所帮助。谢谢你的回答…正如你告诉我的,当我的应用程序加载时,我会再出去7天,根据需要重新创建通知。当收到通知或应用程序激活时。。。