iOS/Swift:为什么 contains 无法检测 .firstIndex 函数中的子字符串?

iOS/Swift: why contains doesn't work to detect a substring in the .firstIndex function?

我正在使用函数 .firstIndex 来定位数组数组中的特定子字符串。 但是,当我放入整个字符串时,它会起作用,但如果我只放入该字符串的一个子字符串,则不起作用。

let index = programArray.firstIndex(where: {[=11=].contains("2021-14-09")}) //Index is nil => bad
let index = programArray.firstIndex(where: {[=11=].contains("2021-14-09 08:00:00")}) // Index is 0 => good

如果我不在它起作用的 firstIndex 函数中使用它,这很奇怪...

let test = "2021-14-09 08:00:00"
let test2 = test.prefix(10).contains("2021-14-09") // true => good

我该怎么办?

你使用 contains(_:),但是如果你查看 Apple Developer Documentation 你会看到:

Returns a Boolean value indicating whether the sequence contains the given element.

因此,如果您使用包含,则整个字符串必须匹配。