如何在plist中存储时间和日期,并将其与现在的iOS 7进行比较

时间:2014-05-21 16:57:30

标签: ios objective-c timer

我正在尝试开发我的iPhone应用程序,执行以下任务:

  1. 用户将他的电影时间和日期存储在plist中。
  2. 电影开始前的
  3. ,例如在开始前30分钟,申请将给他通知
  4. 现在我要求两点:

    1. plist上只有日期字段,我们可以立即存储全职和日期
    2. 我们如何保持应用程序将当前时间与plist上的电影时间进行比较,即使在后台也是如此
    3. 如果可能的话用小例子告诉我。 (保持应用程序在后台进行比较)

      示例:

      Movies.plist  - ID   - movie_name   - shows_time

      如果我有记录

      id:1 movie_name:游戏B 2 showing_time:2014-05-22 2:00 AM

      今天是21-5

      我希望应用程序发送通知:明天上午1:00

      通知代码没有问题,我知道它就像这样

      UILocalNotification *localNotification = [[UILocalNotification alloc] init];
          localNotification.fireDate = [NSDate dateWithTimeIntervalSinceNow:2];
          localNotification.alertBody = msg;
          localNotification.timeZone = [NSTimeZone defaultTimeZone];
          localNotification.applicationIconBadgeNumber = [[UIApplication sharedApplication] applicationIconBadgeNumber] + 1;
      
          [[UIApplication sharedApplication] scheduleLocalNotification:localNotification];
      

      问题是应用程序将如何在特定时间和日期发送通知

      对于您的信息,这件事不仅适用于plist中的一条记录,也许用户可以在不同的日期和时间存储10部电影。

      另一个例子:

      **如果我打开应用程序然后我去保存新电影我输入3个不同的电影名称并显示时间 然后我点击保存 所有细节都将保存在Movies.Plist中 我关闭了申请表。现在,应用程序应该在任何Plist电影开始之前给我本地通知。 这是完整的想法。**

2 个答案:

答案 0 :(得分:1)

NSDates存储日期和时间。例如,当前日期和时间可以表示为:2014-05-21 17:19:13 +0000

至于后台流程,这是不必要的。当用户设置电影时间时,在设定时间之前安排30分钟的通知。没有任何持续的比较,当正确的时间被击中时,通知将被触发..

答案 1 :(得分:0)

如果您想在特定时间通知用户,则不需要存储内容或进行背景检查 - 只需使用UILocalNotification,此处有关于本地通知的Apple文档的链接UILocalNotification