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

时间:2015-01-14 19:19:17

标签: arrays xcode swift

我有一个字符串(newName),如果它已经存在于对象(玩家)的数组(namesArray)中,我希望看到它。数组中的每个对象都有一个字符串属性(name),这是我想要与newName字符串进行比较的属性。

我试图做这样的事情

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

但是我知道这不起作用,因为它比较对象本身而不是对象内部的字符串,我只是不确定如何更深入地比较一个级别。

2 个答案:

答案 0 :(得分:1)

使用contains的封闭形式:

if contains(players, { $0.name == newName }) {
    ...
}

以下是缩写形式:

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

答案 1 :(得分:0)

我正在慢慢地从obj-C切换到swift,所以我可能会脱离标记,但试试这个:

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