私はNSSet
何千ものNSValue
オブジェクトを含んでいます(ラッピングCGPoints
)。CGPoint
指定された値がに存在するかどうかを非常に迅速に確認したいと思いますNSSet
。を使用して等価性をチェックすることを除いて、ここでmember:
は an のメソッドが機能するように思えます。オブジェクトは を使用するので、コードを実行すると:NSSet
isEqual:
NSValue
isEqualToValue:
[mySet member:valueToCheck];
実際に Xcode がクラッシュします。
1) カスタム等値チェックを使用してNSValue
オブジェクトに対してこれを機能させる方法はありますか?
2)これは最善のアプローチですか(つまりmember:
、そもそも十分に速いですか)?シナリオはNSSet
、画面 (iPad) 上のピクセルを表す多数のポイントを含むことです。後で、セットに存在するかどうかを確認するために、1 秒あたり何千ものポイントでそのセットを攻撃する必要があります。これを達成するための私のアプローチは大雑把に思えます。各インデックスが画面上のピクセルを表す巨大な 2 次元ビット配列のようなものを作成することを考えました。テスト対象のポイントがわかったら、配列内のそのポイントに直接ジャンプして、1 または 0 をチェックできます... これは良い音ですか、悪い音ですか?
ありがとう