UILocalNotifications算法

时间:2015-03-05 11:10:01

标签: ios objective-c uilocalnotification

我在安排UILocalNotifications时遇到问题。 我的情况是这样的:当用户选择动机类别时,有一个对话框屏幕,他在那里选择一天,一周,一个月中应该向他呈现多少次动机消息。然后他选择时间段:一天,一周或一个月。动机类别包含消息,每个类别都有不同数量的消息。

所以我的问题是:我该如何安排这些通知?我认为的主要问题是可以有多个类别。谁能告诉我怎么做?

我知道我无法安排超过64个通知,因此我无法在选择类别时安排所有通知。我知道我可以重新安排通知  application:didFinishLaunchingWithOptions:
application:didReceiveLocalNotification:

我希望我能清楚自己的问题。

2 个答案:

答案 0 :(得分:1)

  • 首先编写一个管理本地通知的函数 那就是它必须检查是否有64个通知被安排,如果没有,那么你可以添加一些通知。(你必须很好地处理数据库部分,例如正确设置标志)

  • 调用application:didFinishLaunchingWithOptions:中的函数,以防某些通知过期或遗失

  • 您必须在处理本地通知的所有地方调用该函数。

    1. 用户点按iOS 8通知中的自定义操作按钮。

      在这种情况下,iOS调用 application:handleActionWithIdentifier:forLocalNotification:completionHandler:

      您还可以获取本地通知对象,以便您可以检索处理该操作所需的任何信息。

    2. 用户点按提醒中的默认按钮或点按应用图标。

      系统启动应用程序,应用程序调用其委托方法,传入本地通知对象 application:didFinishLaunchingWithOptions:

    3. enter image description here

      1. 当应用在前台运行时会发送通知。

        该应用调用 UIApplicationDelegate 方法 application:didReceiveLocalNotification

Reference1:

Reference2:

我希望这会有所帮助。

如果它没有解决您的问题,请随时提出疑问

答案 1 :(得分:0)

当您使用所有可用通知时,它可以作为池使用,然后您需要重新安排免费通知

application:didReceiveLocalNotification:但是每次你要重新安排时,你都可以在今天,明天找到下一个用户通知。每当你在application:didReceiveLocalNotification:找到什么时候通知下一个并安排时间。