Alamofire多次请求

时间:2016-10-04 07:25:57

标签: ios swift alamofire

我有tableView我使用Alamofire发送并从服务器获取请求。 正如您在图片中看到的那样,在我的tableView中,我在表格的标题中发送了多个请求,并在索引0,1发送了cell。如果我在一个函数中发送请求,则响应时间太长,无法控制每个请求的错误。什么是处理这个问题的最佳方法?

感谢

2 个答案:

答案 0 :(得分:0)

您应该创建一个请求

因此,通过解析您的请求,您应将数据源设置为数组,因此每一行将从单个项目中获取数据 那个阵列。

然后,您将使用此数据源更新表格视图。

例如:

1)为数据源创建变量(在方法之外):

var source : [Something]

2)在一个请求中请求所有

Alamofire.request(_,_,_)
.responseJSON {
   // create a data source
   // this request should be a merge of your three request stated in your question
   // source can be set as [Something] for instance
}

3)在您的 cellForRow 委托方法中,您应该执行以下操作:

func tableView(_ tableView: UITableView, 
  cellForRowAt indexPath: IndexPath) -> UITableViewCell
{
   let cell = tableView.dequeueReusableCell( ... 
   dataForARow = self.source[indexPath.row]
   cell.label.text = dataForARow["name"] //etc ...
}

答案 1 :(得分:0)

多个请求很好,只需根据每个请求的响应显示表格单元格或标题。

直到您没有收到针对该特定单元格或标题的任何请求设置高度为0的响应。