2016-11-17 6 views
0

私はSwift 3とXcodeで作業しています。配列に要素の型が含まれているかどうかを確認します

私はクラスを持っている:

class H: SKSpriteNode {...} 

と配列:

var array = [H]() 

与えられた時点で、私が試したタイプHの要素がある場合、私はnodes(at:)機能を確認したいです:

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

しかし、それは動作しません、と私は理解しています。 nodes(at)関数が返す配列にHクラスの要素が含まれているかどうかを知る方法はありますか?

また、配列に特定の名前のノードが含まれている場合、関数によって返されたすべてのノードをチェックインするにはどうすればよいですか?

答えて

3

お試しください.filter({$0 is H}).count > 0

+0

ありがとうございます。そして.filter({$ 0.nameは "something"}です)。count> 0も機能しますか? – Drakalex

+3

より良い: '.contains {$ 0はH}' –

+0

この$ 0のことを説明するチュートリアルはありますか?私はこれまでにこの記法を見たことがない。 Swiftによると、正しい構文は:.contains(where:{$ 0 is H}) – Drakalex

関連する問題