在后台的tableView中追加数据-iOS

在后台的tableView中追加数据-iOS,ios,swift,uitableview,background,Ios,Swift,Uitableview,Background,我的应用程序是这样工作的-你按下ui按钮,它开始在表格视图中添加数据,每个单元格都有一个特定的延迟。有时,由于手动设置的延迟参数,追加可能需要几个小时 问题是每次我将其切换到后台时,应用程序都会在几分钟后暂停(通常最多五分钟),整个过程都会中断 有没有办法处理这种情况 谢谢。这是设计的行为,返回后台的应用程序通常只有很短的活动时间,然后将暂停,但也有一些例外: 在后台向用户播放音频内容的应用程序,例如 音乐播放器应用程序 在后台录制音频内容的应用程序 随时通知用户其位置的应用程序,如导航应用程序

我的应用程序是这样工作的-你按下
ui按钮
,它开始在
表格视图
中添加数据,每个单元格都有一个特定的延迟。有时,由于手动设置的延迟参数,追加可能需要几个小时

问题是每次我将其切换到后台时,应用程序都会在几分钟后暂停(通常最多五分钟),整个过程都会中断

有没有办法处理这种情况


谢谢。

这是设计的行为,返回后台的应用程序通常只有很短的活动时间,然后将暂停,但也有一些例外:

  • 在后台向用户播放音频内容的应用程序,例如
  • 音乐播放器应用程序
  • 在后台录制音频内容的应用程序
  • 随时通知用户其位置的应用程序,如导航应用程序
  • 支持互联网语音协议(VoIP)的应用程序
  • 需要定期下载和处理新内容的应用程序
  • 从外部附件接收定期更新的应用程序
  • 基本上来说,如果你的应用程序需要与外部交互以获取应用程序内部无法生成的资源,你可以申请后台运行

    当应用程序进入后台模式时,任何应用程序都可以合法地应用后台任务以在短时间内运行

    在您的情况下,即使您实现了后台运行,您的应用程序也可能会被拒绝。如果您的应用程序正在执行由计时器控制的“添加到表”操作,您应该能够自己模拟该行为

  • 在本地保存系统时间戳,可能是在UserDefault中
  • 当应用程序启动或进入前台时,获取系统时间,您可以计算时间差,并计算出您应该执行多少操作,然后使用批处理操作执行这些操作
  • 之后,清除保存的时间戳,确保下次数据不会被弄乱

  • 每当应用程序进入后台时,请保存它的时间,然后在它进入后台时更新所有计时器!正是我需要的