let string = "hello Swift"
if string.contains("Swift") {
    print("exists")
}

无法将“String”类型的值转换为所需的参数类型“String.Element”(也称为“Character”)
为什么版本5是这样一个错误,我该怎么办?

最佳答案

当您使用contains()并传递给它一个String时,Swift会尝试使用函数的重载,该函数接受某种字符串类型的contains(other:StringProtocol)函数,该函数不是纯SwiftString的一部分。相反,它找到contains(\element:Character),不能接受String作为参数,只接受String.element(又称Character)。指contains
您要查找的函数是在一个字符串与其一致的协议中定义的,该协议名为StringProtocol,位于Foundation中。
因此,如果您需要它,请确保import Foundation或像UIKit这样的更高级别框架。

关于swift - 为什么在swift 5中string.contains(“文本”)不能与字符串一起使用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57316831/

10-14 21:23
查看更多