gpt4 book ai didi

ios - 如何使用 Swift 3 使用后台任务?

转载 作者:搜寻专家 更新时间:2023-10-30 21:49:22 25 4
gpt4 key购买 nike

我是后台任务的新手。我有一项小工作,我正在获取推文,如果我的应用程序处于后台模式,那么它也应该获取推文,但我不知道如何获取推文。

我在 Appdelegate didFinishLaunchOption 方法中使用简单的 Timer。当我关闭应用程序时,它就无法正常工作。我是新手,所以请提出任何建议。下面是我的代码:

Timer.scheduledTimer(timeInterval: 10, target: self, selector: #selector(getTweets), userInfo: nil, repeats: true). 

func getTweets() {

let locationName = Helper.sharedInstance.userDefault.value(forKey: ModelKey.currentLocation) as? String

let accessToken = Helper.sharedInstance.userDefault.value(forKey: ModelKey.twitterAccessToken) as? String

if (locationName == "Bengaluru" && nil != accessToken) || (locationName == "Bangalore" && nil != accessToken){
tweetModel.getTweets(accessToken: accessToken!, city: ModelKey.blrcitytraffic, cityName: "Bengaluru")
}
}

文本到语音也在那里,但当我关闭应用程序时,它就会停止说话。如果我不使用应用程序,那么它也可以获取推文和文本到语音应该使用后台模式工作。这能工作多久?

最佳答案

后台任务意味着您需要使用后台线程。 iOS的线程太多了,但是如果你只想做后台任务,你应该使用两个线程;主线程和后台线程它们的结构是:

DispatchQueue.global(qos: .background).async {
//background code
DispatchQueue.main.async {
//your main thread
}
}

因此,您首先使用后台模式初始化全局队列。该线程可用于后台任务,然后您必须使用主线程(仅当您需要时)在后台任务完成后执行某些操作。这可以是一个选项。另一个选项应该是 appDelegate 中的 applicationDidEnterBackground,您只能将代码放在该方法中。

关于ios - 如何使用 Swift 3 使用后台任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45192402/

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