我有一个字符串(newName),如果它已经存在于对象(玩家)的数组(namesArray)中,我希望看到它。数组中的每个对象都有一个字符串属性(name),这是我想要与newName字符串进行比较的属性。
我试图做这样的事情
if namesArray.contains(newName) {
//do something
}
但是我知道这不起作用,因为它比较对象本身而不是对象内部的字符串,我只是不确定如何更深入地比较一个级别。
答案 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
}
}