gpt4 book ai didi

ios - 如何在swift 3中做障碍

转载 作者:行者123 更新时间:2023-11-28 08:16:04 24 4
gpt4 key购买 nike

我做推送通知。如果数据库中没有数据,则在显示之前下载。我使用 Grand Central Dispatch 做了一个时间间隔,但这是不对的,因为例如,如果用户是弱 Internet 应用程序。

在下载数据之前,GCD 的屏障如何延迟数据的显示?

这段带有时间间隔的代码:

if equal == false {
let url = "https://****.**/json/post/\(data)"
self.download.getLastestNews(url)
}


let when = DispatchTime.now() + 2

DispatchQueue.main.asyncAfter(deadline: when) {
let newsCategory = self.realm.objects(News.self).filter("newsID == \(self.id)")
vc.titleText = (newsCategory.first?.newsTitle)!
vc.fullText = (newsCategory.first?.newsFullText)!
vc.imageLink = (newsCategory.first?.newsImage)!

if let tabBarController = self.window?.rootViewController {
tabBarController.present(vc, animated: true, completion: nil)
}
}

平台 iOS 9.*、iOS 3

最佳答案

延迟队列并不总是有效,因为正如您所说,有时 Internet 连接太慢并且可能没有收到数据,因此程序可能会失败并出错。从 Internet 下载任何内容时,检查完成处理方法。在它们内部使用您在 DispatchQueue 闭包中提供的代码。

关于ios - 如何在swift 3中做障碍,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42571983/

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