使用词典 Table 数据显示在 swift 4

Use Dictionary for Table Data show in swift 4

我在我的代码中使用 Alomofier,数据显示在表格视图中,但我的 dataArray 得到的是 nil 值

my struct:-

   struct sizeData 
{

 var sizevalue = String()

 var sizeing = [[String:Any]]()

  }

创建数组:-

var dataArray : [sizeData] = []

我的json:-

                    func productDetailsApi() {

                        let param: [String:Any] = ["product_id" : product?.product_id ?? "", "token": commonClass.sharedInstance.userToken ?? "" ]
                        print(param)
                        //printD("param: \(param)")

                        Alamofire.request(ShopConstants.ShopAPI.Shopurl("productDetails"), method: .post, parameters: param, encoding: URLEncoding.default, headers: nil).responseJSON {
                            (response:DataResponse<Any>) in
                            let json = response.result.value
                            printD(json)
                             let Json = json as! [String:Any]
                            printD(Json)

                             let status = Json["status"] as! Int
                            if status == 1 {
                                let data = Json["data"] as! [String:Any]
                                  let product_detail = data["product_detail"] as! [String:Any]
                               printD(product_detail)
                                 let sizes = data["sizes"] as! [[String:Any]]
                                for item in sizes{
                                    let getsize = item["sizes"]as! String
                                    self.dataArray.append(sizeData(sizevalue: getsize, sizeing: sizes))
                                }
                                self.tableView.reloadData()

                            }
                        }

                    }

                tableView:-  

                 func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
                        return dataArray.count
                    }

                    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
                    let cell = tableView.dequeueReusableCell(withIdentifier: "SizelistCell")as!
                        SizelistCell
                        cell.sizeLabel.text = dataArray[indexPath.row].sizevalue
                        return cell
                    }

                }

    my response:-

    my json:-

        {
            "status": 1,
            "data": {
                "product_detail": {
                    "id": 35588,
                    "name": "relaxo",
                    "alias": "relaxo",
                    "release_date": "2019-01-31 12:01:00",
                    "images": null,
                    "description": "Lorem ispum   lorem ispum Lorem ispum   lorem ispum Lorem ispum   lorem ispum",
                    "sku": "rel-1200",
                    "style_code": "rel-1200",
                    "original_price": "",
                    "offer_price": {
                        "min_price": 100,
                        "offer_price": 100,
                        "color": "red",
                        "size": "10",
                        "stock": 2,
                        "sold": 0,
                        "original_price": 120
                    },
                    "is_offer": 0,
                    "hero_image": null,
                    "available_at": null,
                    "url": null,
                    "release_day": null,
                    "release_month": null,
                    "brand_id": 117,
                    "store_id": 24,
                    "hero_image_url": "",
                    "hero_image_id": null,
                    "release_date_pretty": null,
                    "original_price_pretty": "",
                    "hero_image_alt": null,
                    "canonical_url": null,
                    "merchant_name": null,
                    "shipping_policy": null,
                    "style": null,
                    "scrap_from": null,
                    "meta_title": "",
                    "meta_keywords": "",
                    "meta_description": "",
                    "is_server": 0,
                    "is_top_sale": 0,
                    "is_most_viewed": 0,
                    "product_type": "women",
                    "status": 1,
                    "is_deleted": 0,
                    "date_updated": "",
                    "date_created": "",
                    "created_at": "2019-02-02 07:06:34",
                    "updated_at": "2019-07-08 06:00:01",
                    "slide_images": [],
                    "available_qty": 2,
                    "ColorData": {
                        "min_price": 100,
                        "offer_price": 100,
                        "color": "red",
                        "size": "10",
                        "stock": 2,
                        "sold": 0,
                        "original_price": 120
                    },
                    "sizes": [
                        {
                            "sizes": "10"
                        }
                    ],
                    "colorset": "red",
                    "colors": [
                        {
                            "color": "red"
                        }
                    ],
                    "average": null,
                    "count": 0
                },
                "policy": {
                    "id": 30828,
                    "product_id": 35588,
                    "meta_key": "policy_config",
                    "meta_value": "{\"warranty_policy\":\"Yes\",\"return_policy\":\"No\",\"delivery_policy\":\"Yes\",\"cancellation_policy\":\"Yes\"}",
                    "created_at": "2019-02-02 07:06:35",
                    "updated_at": "2019-02-02 07:06:35"
                },
                "policy_details": [
                    {
                        "id": 2,
                        "type": "delivery_policy",
                        "description": "<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam fringilla augue nec est tristique auctor. Donec non est at libero vulputate rutrum. Morbi ornare lectus quis justo gravida semper. Nulla tellus mi, vulputate adipiscing cursus eu, suscipit id nulla.<br /><br />Pellentesque aliquet, sem eget laoreet ultrices, ipsum metus feugiat sem, quis fermentum turpis eros eget velit. Donec ac tempus ante. Fusce ultricies massa massa. Fusce aliquam, purus eget sagittis vulputate, sapien libero hendrerit est, sed commodo augue nisi non neque. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tempor, lorem et placerat vestibulum, metus nisi posuere nisl, in accumsan elit odio quis mi. Cras neque metus, consequat et blandit et, luctus a nunc. Etiam gravida vehicula tellus, in imperdiet ligula euismod eget.<br /><br />Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam fringilla augue nec est tristique auctor. Donec non est at libero vulputate rutrum. Morbi ornare lectus quis justo gravida semper. Nulla tellus mi, vulputate adipiscing cursus eu, suscipit id nulla.<br /><br />Pellentesque aliquet, sem eget laoreet ultrices, ipsum metus feugiat sem, quis fermentum turpis eros eget velit. Donec ac tempus ante. Fusce ultricies massa massa. Fusce aliquam, purus eget sagittis vulputate, sapien libero hendrerit est, sed commodo augue nisi non neque. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tempor, lorem et placerat vestibulum, metus nisi posuere nisl, in accumsan elit odio quis mi. Cras neque metus, consequat et blandit et, luctus a nunc. Etiam gravida vehicula tellus, in imperdiet ligula euismod eget.<br /><br />Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam fringilla augue nec est tristique auctor. Donec non est at libero vulputate rutrum. Morbi ornare lectus quis justo gravida semper. Nulla tellus mi, vulputate adipiscing cursus eu, suscipit id nulla.<br /><br />Pellentesque aliquet, sem eget laoreet ultrices, ipsum metus feugiat sem, quis fermentum turpis eros eget velit. Donec ac tempus ante. Fusce ultricies massa massa. Fusce aliquam, purus eget sagittis vulputate, sapien libero hendrerit est, sed commodo augue nisi non neque. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tempor, lorem et placerat vestibulum, metus nisi posuere nisl, in accumsan elit odio quis mi. Cras neque metus, consequat et blandit et, luctus a nunc. Etiam gravida vehicula tellus, in imperdiet ligula euismod eget.</p>",
                        "status": 1,
                        "is_deleted": 0,
                        "updated_at": "2019-01-19 08:16:12",
                        "created_at": "2019-01-19 07:40:03"
                    },
                    {
                        "id": 4,
                        "type": "warranty_policy",
                        "description": "<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam fringilla augue nec est tristique auctor. Donec non est at libero vulputate rutrum. Morbi ornare lectus quis justo gravida semper. Nulla tellus mi, vulputate adipiscing cursus eu, suscipit id nulla.<br /><br />Pellentesque aliquet, sem eget laoreet ultrices, ipsum metus feugiat sem, quis fermentum turpis eros eget velit. Donec ac tempus ante. Fusce ultricies massa massa. Fusce aliquam, purus eget sagittis vulputate, sapien libero hendrerit est, sed commodo augue nisi non neque. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tempor, lorem et placerat vestibulum, metus nisi posuere nisl, in accumsan elit odio quis mi. Cras neque metus, consequat et blandit et, luctus a nunc. Etiam gravida vehicula tellus, in imperdiet ligula euismod eget.<br /><br />Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam fringilla augue nec est tristique auctor. Donec non est at libero vulputate rutrum. Morbi ornare lectus quis justo gravida semper. Nulla tellus mi, vulputate adipiscing cursus eu, suscipit id nulla.<br /><br />Pellentesque aliquet, sem eget laoreet ultrices, ipsum metus feugiat sem, quis fermentum turpis eros eget velit. Donec ac tempus ante. Fusce ultricies massa massa. Fusce aliquam, purus eget sagittis vulputate, sapien libero hendrerit est, sed commodo augue nisi non neque. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tempor, lorem et placerat vestibulum, metus nisi posuere nisl, in accumsan elit odio quis mi. Cras neque metus, consequat et blandit et, luctus a nunc. Etiam gravida vehicula tellus, in imperdiet ligula euismod eget.<br /><br />Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam fringilla augue nec est tristique auctor. Donec non est at libero vulputate rutrum. Morbi ornare lectus quis justo gravida semper. Nulla tellus mi, vulputate adipiscing cursus eu, suscipit id nulla.<br /><br />Pellentesque aliquet, sem eget laoreet ultrices, ipsum metus feugiat sem, quis fermentum turpis eros eget velit. Donec ac tempus ante. Fusce ultricies massa massa. Fusce aliquam, purus eget sagittis vulputate, sapien libero hendrerit est, sed commodo augue nisi non neque. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tempor, lorem et placerat vestibulum, metus nisi posuere nisl, in accumsan elit odio quis mi. Cras neque metus, consequat et blandit et, luctus a nunc. Etiam gravida vehicula tellus, in imperdiet ligula euismod eget.</p>",
                        "status": 1,
                        "is_deleted": 0,
                        "updated_at": "2019-01-19 11:57:31",
                        "created_at": "2019-01-19 07:40:03"
                    },
                    {
                        "id": 5,
                        "type": "cancellation_policy",
                        "description": "<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam fringilla augue nec est tristique auctor. Donec non est at libero vulputate rutrum. Morbi ornare lectus quis justo gravida semper. Nulla tellus mi, vulputate adipiscing cursus eu, suscipit id nulla.<br /><br />Pellentesque aliquet, sem eget laoreet ultrices, ipsum metus feugiat sem, quis fermentum turpis eros eget velit. Donec ac tempus ante. Fusce ultricies massa massa. Fusce aliquam, purus eget sagittis vulputate, sapien libero hendrerit est, sed commodo augue nisi non neque. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tempor, lorem et placerat vestibulum, metus nisi posuere nisl, in accumsan elit odio quis mi. Cras neque metus, consequat et blandit et, luctus a nunc. Etiam gravida vehicula tellus, in imperdiet ligula euismod eget.<br /><br />Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam fringilla augue nec est tristique auctor. Donec non est at libero vulputate rutrum. Morbi ornare lectus quis justo gravida semper. Nulla tellus mi, vulputate adipiscing cursus eu, suscipit id nulla.<br /><br />Pellentesque aliquet, sem eget laoreet ultrices, ipsum metus feugiat sem, quis fermentum turpis eros eget velit. Donec ac tempus ante. Fusce ultricies massa massa. Fusce aliquam, purus eget sagittis vulputate, sapien libero hendrerit est, sed commodo augue nisi non neque. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tempor, lorem et placerat vestibulum, metus nisi posuere nisl, in accumsan elit odio quis mi. Cras neque metus, consequat et blandit et, luctus a nunc. Etiam gravida vehicula tellus, in imperdiet ligula euismod eget.<br /><br />Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam fringilla augue nec est tristique auctor. Donec non est at libero vulputate rutrum. Morbi ornare lectus quis justo gravida semper. Nulla tellus mi, vulputate adipiscing cursus eu, suscipit id nulla.<br /><br />Pellentesque aliquet, sem eget laoreet ultrices, ipsum metus feugiat sem, quis fermentum turpis eros eget velit. Donec ac tempus ante. Fusce ultricies massa massa. Fusce aliquam, purus eget sagittis vulputate, sapien libero hendrerit est, sed commodo augue nisi non neque. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed tempor, lorem et placerat vestibulum, metus nisi posuere nisl, in accumsan elit odio quis mi. Cras neque metus, consequat et blandit et, luctus a nunc. Etiam gravida vehicula tellus, in imperdiet ligula euismod eget.</p>",
                        "status": 1,
                        "is_deleted": 0,
                        "updated_at": "2019-01-19 11:57:31",
                        "created_at": "2019-01-19 07:40:03"
                    }
                ],
                "brandSizeInches": {
                    "cm": [
                        "10",
                        "10",
                        "10"
                    ],
                    "us": [
                        "10",
                        "10",
                        "10"
                    ],
                    "uk": [
                        "10",
                        "10",
                        "10"
                    ],
                    "inches": [
                        "10",
                        "10",
                        "10"
                    ],
                    "euro": [
                        "11",
                        "11",
                        "11"
                    ]
                }
            },
            "msg": "Product Details found successfully"
        }

如何获取大小为 [[String:Any]] 的数据并在表格视图单元格中显示大小值......

您正在从数据而不是 product_detail

的一部分中获取大小
   Alamofire.request(ShopConstants.ShopAPI.Shopurl("productDetails"), method: .post, parameters: param, encoding: URLEncoding.default, headers: nil).responseJSON {
                            (response:DataResponse<Any>) in
                            let json = response.result.value
                            printD(json)
                             let Json = json as! [String:Any]
                            printD(Json)

                             let status = Json["status"] as! Int
                            if status == 1 {
                                let data = Json["data"] as! [String:Any]
                                  let product_detail = data["product_detail"] as! [String:Any]
                               printD(product_detail)
                                 let sizes = product_detail["sizes"] as! [[String:Any]]
                                for item in sizes{
                                    let getsize = item["sizes"]as! String
                                    self.dataArray.append(sizeData(sizevalue: getsize, sizeing: sizes))
                                }
                                self.tableView.reloadData()

                            }
                        }