gpt4 book ai didi

arrays - 无法将类型 'Array[String]' 的值转换为预期的参数类型 'Set'

转载 作者:搜寻专家 更新时间:2023-11-01 06:18:15 26 4
gpt4 key购买 nike

在 Swift 中,我有一个函数,我将一个数组传递给该函数,然后在另一个函数中使用该数组。我不断收到此错误:

Cannot convert value of type 'Array[String]' to expected argument type 'Set<String>'

@objc func getProductInfo(productIDs: Array<String>) -> Void {
print(productIDs) //this works with correct data

SwiftyStoreKit.retrieveProductsInfo(productIDs) { result in

...

其余部分有效,并在我传入 ["Monthly", "Yearly", "etc..."] 的常规数组时进行测试。

最佳答案

["Monthly", "Yearly", "etc..."] 不是数组,它是数组文字。 Set 可以用数组文字隐式初始化。

let ayeSet: Set<String> = ["a"] // Compiles

但是,它不能用数组隐式初始化。

let bees: Array<String> = ["b"]
let beeSet: Set<String> = bees // Causes Compiler Error

但是,如果您显式初始化它,那么它就会工作。

let sees: Array<String> = ["c"]
let seeSet: Set<String> = Set(sees) // Compiles

因此,在您的示例中,显式初始化应该有效。

@objc func getProductInfo(productIDs: Array<String>) -> Void {
print(productIDs) //this works with correct data

SwiftyStoreKit.retrieveProductsInfo(Set(productIDs)) { result in

...

关于arrays - 无法将类型 'Array[String]' 的值转换为预期的参数类型 'Set<String>',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39541903/

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