我有一个网络管理员课程(单身)。
对于应用程序必须进行的每个API调用,都会调用与此网络管理器不同的函数。
我希望此NM的每个函数都首先显示一个活动指示符,直到达到每个函数的完成处理程序:向用户显示正在执行请求。
最好的方法是什么?
我正在使用Alamofire pod,如果可以帮助的话。
以下是我的一个API调用示例:
func loadSetting(for user: String, completionHandler: (UserSetting?) -> ()) {
myActivityIndicator.start //a line I'd like to perform in every function of this class
let parameters = ["UUID": user]
_ = Alamofire.request(.POST, "http://www.google.com/users", parameters: parameters)
.responseObject { (response: Response<UserSetting, NSError>) in
if let userSetting = response.result.value {
print("User Setting found remotely")
completionHandler(userSetting)
} else {
print("Couldn't fetch remote User Setting")
completionHandler(nil)
}
myActivityIndicator.stop //a line I'd like to perform in every function of this class
}
}
感谢。
答案 0 :(得分:0)
为什么不尝试将活动指标作为参数传递? 因此,在您调用loadSetting函数的View控制器中,传入一个活动指示器,您可以在其中传入一个引用,然后在loadSetting函数中启动/停止它