gpt4 book ai didi

arrays - 使用 zip() 迭代多个数组时出现 "Extra argument in call"错误

转载 作者:行者123 更新时间:2023-11-28 08:14:34 26 4
gpt4 key购买 nike

我正在尝试遍历多个数组,然后将所有内容放入另一个数组中。这是我要循环进入的类(class):

class Place {

var names = [String]()
var messages = [String]()
var latidudes = [Double]()
var longitudes = [Double]()

var locations = [CLLocationCoordinate2D]()
}

这是我的职能:

private func placesArrayLoop() {

let CoffeeShopNames = ["aCoffee","bCoffee", "cCoffee"]
let messages = ["message0", "message1", "message2"]
let latitudes = [40.232320, 40.232321, 40.232322]
let longitudes = [-95.388069, -95.388068, 95.388067]

for (name, message, latitude, longitude) in zip(CoffeeShopNames, messages, latitudes, longitudes) {
let place = Place()
place.names.append(name)
place.messages.append(message)
place.latitudes.append(latitude)
place.longitudes.append(longitude)

}
}

它给了我错误,“调用中的额外参数指向 zip 数组行中的纬度。我假设这是 swift 3 的新语法错误,但我环顾四周,找不到如何修复它. 但是下面的代码有效...

let strArr1 = ["Some1", "Some2", "Some3"]
let strArr2 = ["Somethingelse1", "Somethingelse2", "Somethingelse3"]

for (e1, e2) in zip(strArr1, strArr2) {
print("\(e1) - \(e2)")
}

所以现在我真的很困惑。

最佳答案

zip() 函数只接受两个参数(因此您的第二个示例有效)。 http://swiftdoc.org/v3.0/func/zip/

您正试图向它传递四个参数。

关于arrays - 使用 zip() 迭代多个数组时出现 "Extra argument in call"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42895079/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com