尝试使用 contains() 将字符串与在数组内的对象内找到的字符串进行比较

Trying to compare a string to a string found inside an object that is inside an array using contains()

我有一个字符串 (newName),我想看看它是否已经存在于对象 (Players) 的数组 (namesArray) 中。数组中的每个对象都有一个字符串 属性(name),这就是我想与 newName 字符串进行比较的 属性。

我试过这样做

if namesArray.contains(newName) {
  //do something
}

但我知道这行不通,因为它比较的是对象本身,而不是对象内部的字符串,我只是不确定如何更深入地进行比较。

我正在慢慢地从 obj-C 切换到 swift,所以我可能跑题了,但试试这个:

for name in namesArray {
  if name == newName {
    // do something
  }
}

使用包含的闭包形式:

if contains(players, { [=10=].name == newName }) {
    ...
}

这是以下的缩写形式:

if contains(players, { (item) -> Bool in return item.name == newName }) {
    println("contained")
}