問題タブ [nsmutableset]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
117 参照

objective-c - 他のオブジェクト内のコンテナーにオブジェクトを追加することは、アークでは null です

Apple の ARC を使用しています。2 つのクラスがあります。1 つは NSMutableSet を持ち、もう 1 つはその NSMutableSet 内に配置します。

したがって、次のことを行うと:

結果は次のとおりです: (null) (null) (null) (null) など。

SmallClass が ARC によってリリースされているということですか? どうすれば解決できますか(もちろん保持はできません)?myClass インスタンスで copy を呼び出すと、myClass の copy を実装していないため、エラーが発生します (ARC 以前の方法で保持するだけです)。

ContainerClassコード:

そして実装:

0 投票する
1 に答える
199 参照

objective-c - NSMutableDictionary 各値に数式を適用する最も効率的な方法

NSNumbers を持つ NSMutableDictionary があります。セットの構築が終了したら、現在保存されている値自体を使用してすべての値を再計算する必要があります。現在、高速な列挙と新しい NSMutableSet への格納を使用していますが、Objective C の経験がなく、これを行うためのより効率的な方法が必要です。

最後に、値で並べ替えています (そのため、NSMutableSet を使用しています)。

0 投票する
1 に答える
3824 参照

objective-c - NSMutableSetには重複が含まれています

と呼ばれるカスタムクラスがcardあり、ランダムなサイズのカードの配列から10枚の一意のカードのセットを作成する必要があります。また、ホワイトリストに登録されているカードを最初に含めて、常に含まれるようにする必要があります。

私の問題は、ホワイトリストのカード(およびホワイトリストのみ)がセット内で重複している可能性があることです。ランダムに追加されたカードが複製されることはなく、カウントは常に正しいです(10)。なぜisEqual時々うまくいくように見えるのか理解できませんが、常にではありません。

ここで私はセットを作成します(これrandomsは、選択される可能性のあるカードの配列です)。

ここで回答された別の質問に基づいてisEqual、クラスのメソッドを無効にしました。card

ホワイトリストカードを追加した場合を除いて、完全に機能しているようですが、どのようにして重複が発生するのかわかりません(ただし、2部を超えることはありません)。

0 投票する
6 に答える
4907 参照

objective-c - NSMutableSet の並べ替え

NSMutableSet文字列オブジェクトを保存するために使用する必要があります。たとえば、最小数から最大数まで正しい順序で保存したい:

これを行うとどうなりますか:

私が望んでいたものは得られませんが、代わりにこれ:

だから、欲しい結果を得るためにそれらをソートする必要があると思いますか?しかし、実際には例が見つかりません。

多分誰かがこれについて私を助けることができますか?

ありがとう。

編集: 他には使えません。ちょうどNSMutableSetまたはNSSet

0 投票する
2 に答える
3165 参照

objective-c - NSMutableSet オブジェクトを追加していません

コードがセットに要素を追加していません。

私のヘッダーファイルは次のとおりです。

私の .m ファイル:

ログ出力:

[4187:fb03] SubstanceTextField 値のテスト: Omega 3-6-9 [4187:fb03] 名前:Omega 3-6-9 および class_name as:NHP の結果が見つかりました [4187:fb03] NHP は、 nhp list [4187:fb03] 0 追加後の NHP カウント [4187:fb03] NHP List:0 DrugList:0 UserList:0

0 投票する
2 に答える
122 参照

iphone - Can not add more than 3 objects to a NSMutableSet

Made a custom obj called Item with some string fields and one float.

implementation:

Now, I have NSMutableSet (itemsAdded which is a property of another class) inited as [[NSMutableSet alloc]init] and I can't add more than 3 Item objects to it. And BTW Items adding in very strange way...

And this is what i get:

Take a look there 2 times printed that set has 2 items but at this point there must be 3 items. It works randomly and could print it has 2 items more than 2 times. Also no reaction on adding more than 3 items at all. Only 3 items persist 4ever. Why is that? What I'm doing wrong?

0 投票する
2 に答える
249 参照

iphone - オブジェクトをMutableOrderedSetに追加しようとしたときに、割り当て解除されたインスタンスに送信されるIsEqualメソッド

(作成した)2種類のオブジェクト(PiecesとOthers)を保持するNSMutableOrderedセットがあります。

PieceとOtherはどちらも、次のようにisEqualメソッドをオーバーライドします。

ピース:

他の:

また、両方のクラスのハッシュをオーバーライドして、インスタンスごとに一意のハッシュを作成します(ivarのint値を取得して追加することにより)。

私のアプリでは、An Otherがセットから削除され、セットにピースを追加しようとすると、次のようになります。

ハッシュメソッドは次のとおりです。

なぜこれが起こっているのか誰かが知っているなら、私は本当に助けになるでしょう。

ありがとう、

0 投票する
3 に答える
7841 参照

iphone - Objective c - NSMutableSet 固有のオブジェクト プロパティ

私のアプリには、プロパティを持つクラスPersonがありpersonIdます。
ここで、一連の一意のオブジェクトを保持するためのデータ構造が必要Personです (unique = different personId)

したがって、データ構造として NSMutableSet を使用する必要があると思いますがpersonId、人を追加するときに NSMutableSet でプロパティを比較するにはどうすればよいですか (そのため、同じ人を複数人追加しません)。

私の目標は、常に一意の人物のコレクションを保持することです (同じ ID を持つ 2 人の人物を追加した場合でも)。 2回追加することはありません。

0 投票する
3 に答える
472 参照

objective-c - NSCountedSetでオブジェクト数をゼロ(または何らかの値)に設定するにはどうすればよいですか?

私は以下を持っていますNSCountedSet

item1セットからオブジェクトを削除したいと思います。
1つの解決策は

出力:

item1または、セットから1000個のオブジェクトのみを削除したい。

出力:

これに対するより良い解決策はありますか?

0 投票する
2 に答える
702 参照

objective-c - NSOrderedMutableSet がデータが同じオブジェクトを追加するのはなぜですか?

オブジェクトを作成し、 を使用してそれらをセットに追加してい-[NSOrderedMutableSet addObject:]ますが、オブジェクト自体の重複のみがチェックされることがわかりました。おそらくオブジェクト ポインターのアドレスであり、同一のコンテンツを持つ複数のオブジェクトを追加することが可能です。

例えば:

カウントは2になります。

これは、これらのクラスのポイントが何であるか疑問に思いますか? オブジェクトを持っていて、オブジェクトに含まれるデータではなく、オブジェクト自体が既にコレクションに追加されているかどうかがわからない場合は、どのような状況でしょうか?

セットにコンテンツに基づいて各オブジェクトが 1 つだけ含まれるようにする最も簡単な方法 (またはどのクラスを使用する必要がありますか) は何ですか?