2016-11-17 114 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

相關問題