gpt4 book ai didi

ios - 快速控制应用程序流

转载 作者:行者123 更新时间:2023-12-01 20:17:32 25 4
gpt4 key购买 nike

我正在尝试构建一个依赖于 CoreData 中的某些项目的应用程序.我让它与外部数据源同步,一切正常。

我的应用程序使用三种方法,并且是单 View 应用程序:

syncData()
createSpinner()
showResult()

现在 createSpinner取决于 CoreData 中有一些数据- 并且只需要运行一次
showResult取决于已创建的“微调器”,并在创建时调用一次以初始化自身,以及每次旋转我的微调器时

我目前有 SyncDataviewDidLoad() ,以及 createSpinner()viewDidAppear() (因为它会根据屏幕大小改变大小)

问题是在首次启动时数据没有及时加载 createSpinner() ,因此该应用程序看起来毫无用处。我如何“等待”第一次同步,或者设置一些东西来检查是否有一些数据?

最佳答案

解决办法是强制syncData() & createSpinner()在同一个线程中运行

您可以通过创建一个串行队列并将这两种方法异步分派(dispatch)到其中来做到这一点

let serialQueue = dispatch_queue_create("com.mycompany.myview", DISPATCH_QUEUE_SERIAL);

override func viewDidLoad() {
super.viewDidLoad()
dispatch_async(serialQueue) {
syncData()
}
}

override func viewDidAppear() {
super.viewDidAppear()
dispatch_async(serialQueue) {
createSpinner()
}
}

关于ios - 快速控制应用程序流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36383501/

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