首页 > 解决方案 > 如何在swift 5中使用for循环创建数组数组

问题描述

我想创建数组数组

前任-

let myImages: [[String]] = [

    ["image_url_0_0", "image_url_0_1", "image_url_0_2", "image_url_0_3"],

    ["image_url_1_0", "image_url_1_1", "image_url_1_2"],

    ["image_url_2_0", "image_url_2_1", "image_url_2_2", "image_url_2_3", "image_url_2_4"]
]

我试过这个,但它不能完美地工作。

var myArray :[[String]] = []

for custom_attributes! in items { // items is the json items array
    var arrImage: [String] = []
    for customParams in custom_attributes! {

        if let attCode = customParams["attribute_code"] as? String, attCode == "small_image"   {
             print(customParams["value"])

             var myString = customParams["value"] as! String
             arrImage.append(myString)
         }

     }
     myArray.append(arrImage)
 }

但我得到这种形式的结果

[["image_url_0_0"], ["image_url_0_0","image_url_0_1"], ["image_url_0_0","image_url_0_1","image_url_0_3"].....]

我该怎么做?请帮忙。

标签: iosswift

解决方案


首先,您需要创建简单的字符串数组,然后将此数组附加到您的 myArray。检查以下代码可能会有所帮助

var myArray :[[String]] = []

for custom_attributes! in items { // items is the json items array
    var arrImage: [String] = []
    for customParams in custom_attributes! {

        if let attCode = customParams["attribute_code"] as? String, attCode == "small_image"   {
             print(customParams["value"])

             var myString = customParams["value"] as! String
             arrImage.append(myString)
         }

     }
     myArray.append(arrImage)
 }

推荐阅读