【发布时间】:2016-09-17 00:59:45
【问题描述】:
在 Swift 中,我有一个函数,我将一个数组传递给它,然后在另一个函数中使用该数组。我不断收到此错误:
无法将“Array[String]”类型的值转换为预期的参数类型“Set
”
@objc func getProductInfo(productIDs: Array<String>) -> Void {
print(productIDs) //this works with correct data
SwiftyStoreKit.retrieveProductsInfo(productIDs) { result in
...
其余的工作,并在我传入["Monthly", "Yearly", "etc..."] 的常规数组时进行测试。
【问题讨论】:
-
SwiftyStoreKit.retrieveProductsInfo()的声明是什么样子的? -
@RemyLebeau 它是一个接受产品 ID 数组的函数。当我硬输入数组 ["Monthly","Yearly"] 时,它没有问题。试图通过我的应用程序动态传递数组。
-
这不是我问的。
retrieveProductsInfo()的实际声明是什么?显然,它期望的不是你给它的东西,否则你不会得到错误。 -
func getProductInfo(productIDs: Set<String> -
@LeoDabus 你是最棒的。如果您想“回答问题”,我可以接受您的回答。介意解释为什么 Set 是正确的答案吗?泰!