在调用 SwiftSpinner 时viewDidLoad
, Swift 微调器不工作
请在下面找到我正在使用的代码,
override func viewDidLoad() {
super.viewDidLoad()
DispatchQueue.global(qos: .background).async {
self.basicSync {(isSynced) in
DispatchQueue.main.async {
SwiftSpinner.hide()
}
}
}
DispatchQueue.main.async {
SwiftSpinner.show("Syncing")
}
}
public func basicSync(completion: @escaping (Bool) -> ()) {
//Sync related work
completion("true")
}
我找不到在初始加载时调用 Swift 微调器的方法
我从上面的代码中尝试使用 SwiftSpinner.Show 的一些方法
打电话, SwiftSpinner.show("Syncing")
在主线程内调用它
DispatchQueue.main.async {
DispatchQueue.main.async {
SwiftSpinner.show("Syncing")
}
}
DispatchQueue.main.async {
DispatchQueue.main.async {
DispatchQueue.main.async {
SwiftSpinner.show("Syncing")
}
}
}
但我不认为这是正确的编码标准,对 Swift 和编码技术来说是新的
我以前有这个问题,你需要做以下事情
func delay(seconds: Double, completion: @escaping () -> ()) {
let popTime = DispatchTime.now() + Double(Int64( Double(NSEC_PER_SEC) * seconds )) / Double(NSEC_PER_SEC)
DispatchQueue.main.asyncAfter(deadline: popTime) {
completion()
}
}
然后在视图中加载
override func viewDidLoad() {
super.viewDidLoad()
delay(seconds: 0.5) {
SwiftSpinner.show("Syncing")
}
}
就是这样:D
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句