我一直在寻找解决方案,但有点困惑。我需要在我所有的 UIViewControllers 中定期运行一个任务。基本上,我想每 10 秒检查一次数据库的内容,看看变量是否从 0 变为 1。我阅读了 NSTimer 和 Dispatch_time,但我不确定如果我从一个 View 切换到花药。我怎样才能做到这一点?
我问题的第二部分是如何将此任务传递给后台线程?假设用户锁定了他/她的手机,我希望应用程序仍然检查数据库,直到变量从 0 变为 1。
我是应用程序编程和 iOS 架构的新手。如果有任何我可以阅读的东西可以帮助我完成这项任务,请提出建议。
提前致谢。
最佳答案
您是否考虑过运行一个Thread
?
人们肯定会说初学者永远不要接触线程,因为不小心可能会导致非常不可预测的错误等。 问题是有时您确实必须使用它们,并且您的需求适合线程。
线程在程序的后台运行,与代码的其余部分和线程的其余部分分开。这意味着线程不会等待任何其他事情,只有在您要求它们时才会这样做。
在此处了解有关 Swift 中的 Threads
的更多信息:https://thatthinginswift.com/background-threads/
关于ios - 如何在所有 UIView(Swift 语言)中定期运行任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38647342/