为什么 string.contains ("text") 不适用于 swift 5 中的字符串?
Why does string.contains ("text") not work with strings in swift 5?
let string = "hello Swift"
if string.contains("Swift") {
print("exists")
}
无法将类型 'String' 的值转换为预期的参数类型 'String.Element'(又名 'Character')
为什么版本 5 会出现这样的错误,我该怎么办?
当您使用 contains()
并向其传递 String
时,Swift 会尝试使用函数的重载,该函数接受某种字符串,例如 contains( _ other: StringProtocol) 函数不是纯 Swift String
的一部分。相反,它发现 contains(_ element: Character) 并且它不能接受 String 作为参数并且只接受 'String.Element' (又名 'Character' )。参考contains
您要查找的函数是在 String 遵循的协议中定义的,名为 StringProtocol
,位于 Foundation
中。
因此,如果您需要它,请确保您 import Foundation
或更高级别的框架,例如 UIKit
。
let string = "hello Swift"
if string.contains("Swift") {
print("exists")
}
无法将类型 'String' 的值转换为预期的参数类型 'String.Element'(又名 'Character')
为什么版本 5 会出现这样的错误,我该怎么办?
当您使用 contains()
并向其传递 String
时,Swift 会尝试使用函数的重载,该函数接受某种字符串,例如 contains( _ other: StringProtocol) 函数不是纯 Swift String
的一部分。相反,它发现 contains(_ element: Character) 并且它不能接受 String 作为参数并且只接受 'String.Element' (又名 'Character' )。参考contains
您要查找的函数是在 String 遵循的协议中定义的,名为 StringProtocol
,位于 Foundation
中。
因此,如果您需要它,请确保您 import Foundation
或更高级别的框架,例如 UIKit
。