尝试使用 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")
}
我有一个字符串 (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")
}