我想在特定时间在我的应用中运行一个功能。下午5点,我希望我的应用程序显示一个简单的alertView,告诉用户下午5点。
可以安全地假设该应用处于活动状态并且当时处于打开状态。我知道如何在延迟后运行一个函数(但这取决于首次调用该方法的时间)。
一种方法可能是发送本地通知。这是最好的方法吗?我希望避免使用它,因为它取决于用户授予发送通知的权限。
答案 0 :(得分:1)
如果“可以安全地假设应用程序处于活动状态并且当时打开” - 尽管我没有看到如何安全地假设 - 那么计时器(NSTimer)是最合适的。只需使用现在的时间与您希望调用的函数告诉计时器何时触发的时间之间的差异。
当您的应用不最前面时,本地通知会通知用户。换句话说,它们是告诉系统代表您提供一些通知界面的一种方式。通知可以显示在通知中心,锁定屏幕上,作为横幅或警报以及声音。如果这不是您想要的,请不要使用本地通知。
如果您的应用在本地通知触发时恰好位于最前端,那么本地通知会通知您的应用,而不是向用户显示横幅/提醒。如果这是可以接受的,则此将合理使用本地通知。但是,不要使用本地通知代替自己的计时算术!使用它是因为您想要通知用户。