gpt4 book ai didi

Swift 3 : switching on UILabel. 文本并获取类型错误但类型匹配

转载 作者:行者123 更新时间:2023-11-30 12:26:46 25 4
gpt4 key购买 nike

我有一个参数类型为 [String] 的函数。我可以调用该函数并且它执行成功。但是,我最近在添加新数据源时遇到错误,我正在尝试调试。我正在打开数组参数,使用与调用该函数时传入的相同值。 Swift 抛出错误:

Swift Expression pattern of type [String] cannot match values of type [String]

这是我正在使用的代码部分:

func calcRelevance(array: [String]) {
/* block of code */

if relevanceArr.count >= 1 {
//do something
} else {
switch array {
case self.someArray:
self.label.text = "No results returned from some data source"
case self.someOtherArray:
self.label.text = "No results returned from some other data source"
default:
self.label.text = "Your search yielded no results. Please refine your search by tapping back and using more relevant search terms"
}
}
}

当我输入此内容时,我意识到我可能无法在 if 语句内使用 switch block 。我不确定控制流是否允许这样做,如果是这样的话,从中得到类型错误似乎很奇怪。

此外,我还查看了 Switching on UIButton title: Expression pattern of type 'String' cannot match values of type 'String?!'它与展开选项有关,我认为这不适用于此处。

最佳答案

这不是开关的工作原理。交换机不期望 case 值是数组。如果要比较数组,请使用 if 语句。

if array == someArray { 
/* do something */
} else if array == someOtherArray {
/* do something else */
} else {
/* do another thing */
}

关于Swift 3 : switching on UILabel. 文本并获取类型错误但类型匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44099989/

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