如何处理 Alamofire 的异步特性 [重复]

Posted

技术标签:

【中文标题】如何处理 Alamofire 的异步特性 [重复]【英文标题】:How to handle the asynchronous nature of Alamofire [duplicate] 【发布时间】:2015-07-18 19:43:58 【问题描述】:

我的应用遇到了问题。

我需要获取响应数据来填充我的表格视图,但我的 Alamofire GET 请求调用(在 viewDidload 中)的响应速度不快于 tableView 对 numberOfRowsInSection 的调用。

我在软件/移动软件设计方面并不是很了解,所以我有点卡在我需要做的事情上。

我是否应该让一切都等待我的 Alamofire 响应(如果是这样,我该怎么做?)?这似乎违背了 Alamofire 的异步特性。

有没有更好的办法?

【问题讨论】:

【参考方案1】:

首先您创建一个数组,其中包含将在UITableView 中显示的数据。在 viewDidLoad 中初始化它们。对于numberOfRowsInSection,您将返回myArray.count

当您获取数据时,将它们插入到您的数组中(例如,从上面的myArray),然后调用tableView.reloadData()

这应该可以解决您的问题。

【讨论】:

那么,与 Eric D 所示的完成处理程序相比,为什么要这样做呢?是为了保持它的异步性质吗?您是说 Alamofire 请求的关闭部分中的 reloadData 吗? 好吧,您将在完成处理程序中调用 reloadData,如果我的回答具有误导性,请见谅。这个想法是在异步调用完成其工作后重新加载表。

以上是关于如何处理 Alamofire 的异步特性 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

Swift Alamofire 如何处理来自循环的所有请求

如何处理网络中间请求的变化 - Alamofire

网速慢或服务器宕机时如何处理 Alamofire 请求?

如何处理Alamofire中的多部分/相关数据?

如何处理 Swifty JSON Alamofire 请求中的优先级?

如何处理来自 API 调用的 ios 数据