我遇到了 SwiftSpinner 的问题,我从这里下载 https://github.com/icanzilb/SwiftSpinner
我试图在每次应用程序推送 api 调用时显示微调器。然后在请求完成后隐藏微调器。问题是当微调器初始化请求已完成并调用隐藏事件时。最后,旋转器完成了它的初始过程和显示。当然,因为请求已经完成,所以没有什么可以隐藏它。 任何帮助将不胜感激!
static func request(target: ServerAPI, success successCallback: @escaping (Response) -> Void, error errorCallback: @escaping (Swift.Error) -> Void, failure failureCallback: @escaping (MoyaError) -> Void) {
// Show spinner
SwiftSpinner.show()
print("Start: \(target.path)")
provider.request(target) { (result) in
// Hide spinner
SwiftSpinner.hide()
switch result {
case .success(let response):
// do my stuff
default
// do my stuff
}
}
最佳答案
UIChanges 必须在主线程上完成。 当您想隐藏微调器时,获取主线程并将其隐藏。
使用以下内容
DispatchQueue.main.async{
SwiftSpinner.hide()
}
关于ios - SwiftSpinner 在调用 API 时遇到问题 - swift ios,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50383969/