通过Alamofire和For循环获取请求

时间:2016-08-13 17:29:19

标签: ios json swift tableview alamofire

我有一个字符串数组,我在其中存储字符串,稍后我将其添加到Alamofire上的.GET请求的URL中。我使用for循环遍历数组,因此对于每个元素,Alamofire会发出一个.GET请求并接收一个JSON,在解析之后我将附加到另一个字符串。

事实是我在TableViewCell中有一个CollectionView,我所做的是为forenamed数组中的每个元素创建一个单元格,以及一行CollectionView与我从.GET获取的内容请求问题是TableViewCell的名称与CollectionView上显示的内容不匹配。

这是我目前正在使用的代码:

func downloadRadios(){
        for names in browse{
            index.append(names)
            let url = "http://api.dirble.com/v2/search/\(names)?token="

            Alamofire.request(.GET, url).validate().responseJSON { response in
                switch response.result {
                case .Success(let data):
                    let json = JSON(data)

                    if let arr = json.arrayObject as? [[String:AnyObject]] {
                        var myRadio = [String]()

                        for items in arr{
                            let name = items["name"] as? String
                            myRadio.append(name!)

                        }
                        print(myRadio)
                        self.radio.append(myRadio)
                        self.tableView.reloadData()

                    }
                case .Failure(let error):
                    print("Request failed with error: \(error)")
                }
            }
        }
        print("radio vale\(radio.count)")

    }

填充TableView的代码:

func tableView(tableView: UITableView,
                   cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCellWithIdentifier("PopularRadioTableViewCell", forIndexPath: indexPath) as! PopularRadioTableViewCell
        cell.configureCell(index[indexPath.row])
        return cell
    }

填充CollectionView的代码:

func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
        let cell = collectionView.dequeueReusableCellWithReuseIdentifier("PopularRadioCell", forIndexPath: indexPath) as! PopularRadioCell
        cell.configureCell(radio[collectionView.tag][indexPath.item], image:"hey")
        return cell
    }

0 个答案:

没有答案