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

标签 ios objective-c timer

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

  1. 用户将他的电影时间和日期存储在 plist 中。
  2. 在电影开始之前,例如开始前30分钟,应用会给他通知

现在我要求两点:

  1. plist 上只有日期字段我们如何一次存储完整的时间和日期
  2. 我们如何让应用程序即使在后台也能将当前时间与 plist 上的电影时间进行比较

如果可能,请用小例子告诉我。 (让应用程序在后台进行比较)

例子:

电影.plist - ID - 电影名称 - 放映时间

如果我有记录

编号:1 电影名称:游戏 B 2 放映时间:2014-05-22 2:00AM

今天是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 电影开始之前给我本地通知。 这就是整个想法。**

最佳答案

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

至于后台进程,就不用了。当用户设置电影时间时,在设置时间前 30 分钟安排通知。不会有任何正在进行的比较,通知将在正确的时间被触发时触发..

关于ios - 如何在 plist 中存储时间和日期并将其与现在时间 iOS 7 进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23789508/

相关文章:

ios - 一旦计时器归零,如何使丢失标 checkout 现?

perl - 如何在 Perl 中的 x 秒后创建中断?

java - Android CountDownTimer 类滞后于主线程

ios - UIView 和屏幕旋转上的对角渐变背景

iphone - 尝试从 iOS 6 应用程序中启动引导式访问?

ios - 在运行时设置图像时不遵守 UIImageView 的内容模式

ios - 如何在 iPhone 中单击操作更改两个 uibutton 的背景颜色?

objective-c - 如何解决KERN_PROTECTION_FAILURE和KERN_INVALID_ADDRESS?

ios - NSDate 格式没有显示预期的内容

objective-c - 应用被拒绝。如何跟踪用户非续订订阅