【问题标题】:Issues While getting response from api using Alamofire使用 Alamofire 从 api 获得响应时的问题
【发布时间】:2018-12-22 13:07:47
【问题描述】:

我正在我的应用程序中集成详细 api,但我无法理解如何从数组中获取数据,我将我的回复放在这里以便更好地理解

 {
"success": "1",
"data": {
    "service_list": [
        {
      "service_id": "11",
      "fk_user_id": "77",
      "fk_bus_id": "0",
      "fk_sub_cate_id": "1",
      "service_name": "Business Cards",
       "service_desc": "Business Cards",
       "service_price": "500",
       "service_img1": "https://www.kwikmypay.com/mode_share/modeshare_admin/assets/images/business/ser_pquat1531379189.png",
       "service_img2": "https://www.kwikmypay.com/mode_share/modeshare_admin/assets/images/business/ser_hjzty1531379189.png",
       "service_img3": "https://www.kwikmypay.com/mode_share/modeshare_admin/assets/images/business/ser_rmgxb1531379189.png",
       "service_img4": "https://www.kwikmypay.com/mode_share/modeshare_admin/assets/images/business/ser_kptyq1531379189.png",
       "service_img5": "https://www.kwikmypay.com/mode_share/modeshare_admin/assets/images/business/ser_xwmlq1531379189.png"
        }
    ]
},
"message": ""
}

这是我的回应,我希望 服务列表 数组在表格视图中打印,任何人都可以帮助我

这是我的答案

   let busdetail = ["user_id":u_id,"access_token":acc_tkn,"bus_id":busid] as [String:Any]
        print(busdetail)
        Alamofire.request(businessDetail, method: .post, parameters: busdetail).responseJSON
            {
                response in

                print(response)
                let result = response.result

                if let dict = result.value as? Dictionary<String,AnyObject>{
                    if let serlist = dict["data"]{
                        if let s_list = serlist["service_list"]{

                        self.servicelist = s_list as! [AnyObject]
                        self.tbl_expand.reloadData()
                        //self.tbl_servicelist.reloadData()
                        //self.dropDown.items = categorylist as! [AnyObject] as! [String]
                        }
                    }
                }
                self.hideLoader()
                //self.activityIndicator.stopAnimating()
        }

【问题讨论】:

  • 你遇到什么问题显示你的代码
  • 我是 ios 新手,所以我无法理解如何从数据中获取响应:{serviewlist[]}
  • 你的服务列表是一个字典数组
  • 它是一本字典
  • 我只想知道如何从这里的服务列表数组中获取响应

标签: ios swift alamofire


【解决方案1】:
func demoApi() {
Alamofire.request("yourapi", method: .post, parameters: nil, encoding: JSONEncoding.default, headers: nil).responseJSON { (response:DataResponse<Any>) in

    switch(response.result) {
    case .success(_):
        if let json= response.result.value as? [String:Any] {   
        if let response = json["data"] as? [String:Any],
        let ServiceList= response["service_list"] as? [[String:Any]] {

     for servicelist in ServiceList {
        let service_id= servicelist ["service_id"] as! String
        let service_name= servicelist ["service_name"] as! String
        let service_img1= servicelist ["service_img1"] as! String

    }
  }
}

            DispatchQueue.main.async {
                self.yourTableView.reloadData()
            }
        }
        break

    case .failure(_):
        print("Error")
        break

    }
}

 }

【讨论】:

  • 是的,我正在寻找这个谢谢
  • 你得到了你想要的
  • 是的,我得到了它,我得到了我正在寻找的东西
  • 快乐编码 :)
  • 是的,谢谢您的帮助
猜你喜欢
  • 2018-05-21
  • 1970-01-01
  • 2020-04-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-29
  • 1970-01-01
  • 2013-05-15
相关资源
最近更新 更多