gpt4 book ai didi

swift - 每天在 Swift 中执行一个特定的方法

转载 作者:行者123 更新时间:2023-11-28 07:03:01 26 4
gpt4 key购买 nike

我想知道您将如何拥有一个每天执行一次的函数。在我的例子中,我希望用户每天回答一个问题,答案将在用户那里保留一天。第二天,将提出一个新问题,依此类推。有人告诉我,当用户不使用该应用程序时,您无法执行功能。所以我想知道是否有一种方法可以设置一个计时器(例如 24 小时),该计时器会过期并从根本上删除答案?如果有任何方法可以解决这个问题,我将非常感谢向你们学习。

目前我正在使用 Parse.com 检索我的问题,我不确定我是否应该将答案保存回解析中或将它们作为 NSUserDefaults,因为我不知道如何解决上述问题。

最佳答案

有几种方法:

  • 本地通知:您可以安排本地通知(如果用户向应用授予通知权限)将在某个预定时间向用户显示通知。如果用户点击通知,应用程序将被打开。 (不过,如果用户没有点击通知,应用程序将不会打开。)

    参见 Local and Remote Notification Programming Guide .

  • 后台获取:您可以让应用请求后台获取功能,其中操作系统将允许应用发出非常快速的网络请求以查看是否有任何数据要检索。您可以将其与本地通知相结合,让用户知道何时有新问题可用。请注意,您无法控制此时间,因此不能保证每天都进行,更不用说每天都在固定的时间进行了。尽管如此,对于应用程序来说,这是一种无需用户自己运行应用程序即可检查新数据的简便方法。

    参见 Fetching Small Amounts of Data OpportunisticallyiOS 应用程序编程指南中。

  • 与本地通知相关,您还可以使用推送通知(当有新问题可用时,您的网络服务会主动通知用户)。上述 Local and Remote Notification Programming Guide 中讨论了此推送通知服务。 .

  • 当用户启动应用程序时,您可以将当前日期和时间与与上一个已知问题关联的日期和时间进行比较,以查看您是否提出了上一个问题或是否发起了网络请求以获取下一个。

  • 关于存储答案的位置,NSUserDefaults 几乎肯定是错误的地方。如果您想将其保存在本地,请将其保存到持久性存储(存档等)或使用 Core Data。不过,将其保存回网络的好处是可以跨设备同步应用程序问题和答案的状态。

关于swift - 每天在 Swift 中执行一个特定的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31577621/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com