首页 > 解决方案 > 斯威夫特我不能在同一个数组上附加两个不同的字符串

问题描述

我有一个 API 调用,它带来了一组 CustomDescription。该数组的每个元素都有一个名称,因此,我创建了以下内容:

  1. 一个名为 namArray 的字符串数组
  2. 运行我的 CustomDescription 数组并将其元素附加到 namArray 的 for 循环。

当我在 for 循环之后打印我的 namArray 时,我的问题就出现了,它只显示了数组中的一个元素,它没有附加与调用对应的元素。

这是我的代码:

func getTypes(typesUrl: String, handler: @escaping([CustomDescription]) -> Void) {
    
    AF.request(typesUrl).validate().responseTypes { (types) in
        
        guard let typeData = types.value,
              let typeNames = typeData.names else { return }
        
        var namArray = [String]()
        
        for name in typeNames {
            
            guard let types = name.name else { return }
            
            if name.language?.name == "es" {
                namArray.append(types)
            }
        }
        
        print(namArray)
        handler(typeNames)
    }
}

我的控制台记录以下内容:

You've got 94 species successfully
["Planta"]
["Veneno"]

我想得到 ["Planta", "Veneno"] ,但不知道如何。

标签: arraysswiftfor-loop

解决方案


推荐阅读