【问题标题】:Alamofire multiple requestAlamofire 多个请求
【发布时间】:2016-10-04 07:25:56
【问题描述】:

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

谢谢

【问题讨论】:

    标签: ios swift alamofire


    【解决方案1】:

    您应该创建一个请求

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

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

    例如:

    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 委托 method 中,您应该执行以下操作:

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 2015-04-22
        • 1970-01-01
        • 1970-01-01
        • 2017-01-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-05-28
        相关资源
        最近更新 更多