Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在swift 3中从字典中取出数组_Ios_Swift3 - Fatal编程技术网

Ios 在swift 3中从字典中取出数组

Ios 在swift 3中从字典中取出数组,ios,swift3,Ios,Swift3,您好,我正在尝试使用从服务获得的响应填充视图,但无法从整个响应中获取准确值 [ ["product_id": PRO161519, "name": clothes, "brand_name": Levis, "discountprice": 0, "images": <__NSArrayM 0x6000002541c0>( { image = "HTTP://i.vinove.com/dnn/backend/uploads/954tshirt_PNG5434.png";

您好,我正在尝试使用从服务获得的响应填充视图,但无法从整个响应中获取准确值

[
["product_id": PRO161519, 
"name": clothes, 
"brand_name": Levis,
"discountprice": 0,
"images": <__NSArrayM 0x6000002541c0>(
{
    image = "HTTP://i.vinove.com/dnn/backend/uploads/954tshirt_PNG5434.png";
}
)
 "category": Accessories, 
"price": 23.00
]
]
作为结果的响应值
[“图像”:

项目值 [“图像”:


请帮助我在此处获取值图像。

您发布的JSON响应很可能最终以键值字典的形式呈现给您。然后,您可以使用您发布的JSON中的“键”提取键对应的“值”。在您发布的代码段中,键将是冒号左侧的值(如“产品id”、“名称”等)

现在,假设您的键值字典名为“jsonDictionary”。然后,您将按如下方式提取这些值:

let productId = jsonDictionary["product_id"]
let name = jsonDictionary["name"]

但是,如果您没有将原始JSON数据(您在问题中发布的数据)反序列化到字典中的逻辑,那么您必须从字典中开始

for product in products {
    if let productImages = product["images"], let images = productImages as? NSArray {
        for image in images {
            if let image = image as? [String: String] {
                print(image["image"])
            }
        }
    }
}

我一直到得到与图像键对应的值…但由于它是一个数组,我无法使用这些值。我正在编辑代码部分。请检查。OP帖子的标题暗示他们已经有一个字典。但问题中没有明确说明。他们试图检索的确切值也没有明确说明。不过,标题暗示这是“图像”。
for product in products {
    if let productImages = product["images"], let images = productImages as? NSArray {
        for image in images {
            if let image = image as? [String: String] {
                print(image["image"])
            }
        }
    }
}