2016-11-17 116 views
0

我正在使用Swift 3和Xcode。知道一个数组是否包含元素类型

我有一个类:

class H: SKSpriteNode {...} 

和阵列:

var array = [H]() 

我想检查与nodes(at:)功能,如果在给定的点,还有我试过型H的元素:

if nodes(at: myPoint).contains(H) 

但它不工作,我明白这一点。有什么办法可以知道函数返回的数组是否包含H类中的元素?

和另一问题,我怎么能检查由该函数返回的所有节点,如果数组包含有特定名称的节点?

回答

3

尝试使用.filter({$0 is H}).count > 0

+0

它的工作,谢谢。 .filter({$ 0.name是“something”})。count> 0也可以工作吗? – Drakalex

+3

更好:'.contains {$ 0是H}' –

+0

你有任何教程解释这整个$ 0的东西吗?我从来没有见过这种符号。根据Swift的说法,正确的语法是:.contains(其中:{$ 0是H}) – Drakalex

相关问题