【发布时间】:2020-12-01 05:41:30
【问题描述】:
我不确定要使用什么术语,如果有错误请见谅。希望我仍然可以清楚我在寻找什么。我希望在进行 API 调用时出现加载动画。我希望将代码集中起来,并在我进行 API 调用时随时调用,而不是为每个 API 调用手动编写代码。这可能吗?有什么方法可以捕获任何 API 调用并调用代码来显示加载动画?
【问题讨论】:
标签: swift api animation alamofire loading
我不确定要使用什么术语,如果有错误请见谅。希望我仍然可以清楚我在寻找什么。我希望在进行 API 调用时出现加载动画。我希望将代码集中起来,并在我进行 API 调用时随时调用,而不是为每个 API 调用手动编写代码。这可能吗?有什么方法可以捕获任何 API 调用并调用代码来显示加载动画?
【问题讨论】:
标签: swift api animation alamofire loading
您可以使用 Alamofire 的 EventMonitor 协议来完成此操作。 EventMonitor 在各种 Alamofire 事件期间为您提供回调,例如请求开始和结束时。您可能感兴趣的事件是requestDidResume 或request(_:didResumeTask:))和requestDidFinish(或request(_:didCompleteTask:with:))。 Alamofire 还包括ClosureEventMonitor,以防您不想自己编写,您可以在其中设置要在事件期间调用的闭包。
let monitor = ClosureEventMonitor()
monitor.requestDidResumeTask = { request, task in ... }
requestDidCompleteTaskWithError { request, task, error in ... }
let session = Session(eventMonitors: [monitor])
【讨论】: