問題タブ [nscountedset]

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 に答える
81 参照

ios - プロパティを無視する NSCounted セット

しようとしていますNSCountedSetが、プロパティを無視する必要があります。オブジェクトのメソッドをオーバーライドして、isEqual無視したいプロパティを除くすべてのプロパティを手動で比較しようとしましたが、機能しません。

それを達成する方法について何か考えはありますか?

アップデート

私のクラス

使用法:

内容はクラスオブジェクトの配列です

getsにブレークポイントを追加してisEqualも呼び出されません (ただし、[NSarray containsObject:...]

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

ios - NSSet & NSCountedSet オブジェクトの区別

私はNSSet を使用NSSetNSCountedSetていますが、NSSet がオブジェクトをどのように区別するかについて質問がありますか? メモリロケーションを使用していますか?2 つのオブジェクトに名前car1を付けて、1 つを配列から取得し、もう 1 つをインターネットからダウンロードした場合、まったく同じであれば 1 つのオブジェクトと見なされますか? Appleドキュメントを調べても、上記のケースは説明されませんでした。

0 投票する
0 に答える
202 参照

swift - NSCountedSet オブジェクトから Dictionary のデータにアクセスする

NSCountedSetオブジェクトで構成されてStringいます。セットを繰り返し処理して印刷すると、次のようになります。

countSet はオブジェクトの から作成されArrayますString:

配列を印刷すると、次のように表示されます。

Dictionaryここで、これらのカウントされた文字列を使用して、キーがStringtype で、値が type のデータにアクセスしたいと考えています[String : AnyObject]。辞書を印刷すると、すべてのデータが表示されます。

ただし、countedSet のオブジェクトを使用して辞書にアクセスすると、常に nil 値が返されます。

しかし

期待されるデータを教えてくれます。

ここで何が欠けていますか、countedSet オブジェクトからデータにアクセスするにはどうすればよいですか?

UPDATE : Martin R からのコメントのおかげで解決されました。StringオブジェクトはもともとNSString(から取得したNSScanner) オブジェクトであり、間違ってキャストしていました:

次のように変更した後:

すべて正常に動作します。

0 投票する
0 に答える
49 参照

ios - NSArray で繰り返されるオブジェクトを数える

NSArrayの内部をPFObjectソートする必要があります。PFObjectには、曜日を含む配列を含む複数のアイテムが含まれており、PFObject 内の各アイテムで最も頻繁に繰り返される日付を知る必要があります。私の内部cellForRowAtIndexPath(TableViewの各アイテムについて知る必要があるため、これがあります:

これは時々機能します。配列の 1 つが含ま(Monday, Monday, Monday, Thursday)れており、月曜日が最も人気があり、3 票を得ていることを示しています。別の配列も同じですが、木曜日が最も人気があることを示しています。なぜこのように振る舞うのか、私は困惑しています。

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

ios - 順序を維持するための Objective-C の NSCountedSet の代替

以下のコードは、後で注文されないことを除いて、私が必要とすることを行います. 「同様の」質問をすべて読んでも、問題は解決しません。

特定の期間に「イベント」が発生した回数の「時間別」、「日別」、「月別」のビューを取得しようとしています。グラフの x 軸にその時刻または日付をマークし、マークします。 y 軸で発生した回数。表示する文字列のフォーマット方法に応じて、以下の dictArray を昇順で再ソートするだけで正常に機能します。それが問題です。時間ごとのビューでは、「datesForEvent」配列内の文字列を [7am、7am、7am、8am、8am、11am、11am、1pm、1pm、3pm、3pm] のようにフォーマットしています。 NSCountedSet は、午後 1 時、午後 3 時、午前 7 時、午前 8 時、午前 11 時にグラフの x 軸にこのように表示されます。明らかに良くない。フォーマットされた文字列を「datesForEvent」配列に次のような日次ビューとして配置すると、[太陽、太陽、sun, mon, mon, tue, wed, wed, wed, wed, thu, thu, fri, fri fri, fri] x 軸上ではこのようにソートされます fri, mon, sat, sun, thu, tue, wed . 同じことが月ビューでも起こり、「Jul」は「Jun」の前になります。

これは完全に理にかなっていますが、これを修正する方法がわかりません。この問題は、カウントされる前に文字列をフォーマットする方法によって絶対に発生します。ただし、カウント後に文字列をフォーマットすると、日付形式がすべてのイベントで同じ長さであるため、特定の期間に何かが発生した回数がスローされるため、これらすべてのイベントは単一の発生としてではなく単一の発生として取得されます。グループ化されたオカレンスは、ミリ秒単位まで非常に細かく時間を設定されているためです。言い換えれば、イベントの時間が重複することはありません。これも良くありません。Apple ドキュメントで日付形式、日付コンポーネント、日付スタイルなどを調べても無駄です。私は現在、あらゆる種類の助けを期待しながら述語ガイドを読んでいます。正しい方向へのプッシュに大いに感謝します。

以下は問題のあるコードです。皮肉なことに、コードは私が求めていることを実行しているため、コードにバグがないということです。順序付けられていない部分なしで NSCountedSet が行う機能が必要です。

これは、@CRD からのコメント順コメントの更新です。私は他の作業からすぐに休憩を取って、順序を維持しない NSOrderedSet ソリューションとは異なり、適切な順序で日付をカウントするこのソリューションを思い付きました。しかし、より良い言葉がないため、その堅牢性または優雅さについてご意見をお待ちしております. 配列の最後に [NSNull null] を貼り付けるのは少しハッキーな気がしますか?

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

ios - 「CountedSet」の初期化の問題

2 つの単語に含まれる文字を比較しています。これを達成しようとする中で、Set(aka NSSet) はこのタスクを達成するための方法のように思えました。一致すると誤検知が返されることがわかったので、代わりにCountedSet(aka NSCountedSet) を使用しようとしています。

問題なく初期化できますが、初期化子を機能さSetせることができませんCountedSet。これが私がやったことです...

私はから始めますString

次に、文字を次のようにダンプしますArray

次にSet、文字配列からを作成します。

最後に、が次textFieldSetのスーパーセットであるかどうかをテストしwordSetます。

例に戻ると、ifmyTextField.textが「test」の場合word、文字が のスーパーセットである値を返していますwordSetが、個々の要素の数は の文字数と一致しません。myTextField.text

私の問題を調査したところ、CountedSet(fka NSCountedSet) が見つかりました。これで問題が解決すると思います。2 つのメソッド シグネチャがあります。

次のように2セットの文字を初期化しようとしました:

セットに対して次のエラーが表示されます

タイプ '[Character]' の値を予期される引数タイプ '[AnyObject]' に変換できません。

だから私はこのようにセットを初期化しようとしました:

次のエラーが発生します。

「AnyObject」は「Character」のサブタイプではありません

CountedSetまた、メソッド シグネチャごとにを初期化しようとしましたSetが、それを実行しようとするとエラーが発生します。

aを初期化する方法についての提案CountedSetは大歓迎です。

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

ios - 配列内で 2 回以上出現する数字を見つける

重複した数字 (2 回以上表示される) を配列で見つける必要がありますNSCountedSet

これは私がした解決策です:

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

swift - Swift 3 (ベータ 6) の CountedSet はどこにありますか?

Swift 3 ではCountedSet、古い Objective-C クラスを置き換える/ブリッジするクラス (構造体ではなくクラス) が導入されていNSCountedSetます。

ただし、Swift 3 の最後のベータ版 (ベータ 6) を使用すると、CountedSetシンボルが認識されなくなりました。それがどうなったのか?

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

swift3 - Swift の NSCountedSet 列挙

私はNSCountedSetよりSwift似た方法で使用する方法を探しています(それが何を意味するにせよ)。

基本的に から直接翻訳した次のスニペットを検討してくださいObjective C。セット内の各シンボル (a String) を反復処理し、対応するカウントを取得して、辞書でそのシンボルの値を検索します。次に、その値にカウントを掛けて、合計に追加します。

Xcodeそれは機能しますが、提案されたアンラップについて少し心配しています。だから私はこれをもっとSwift似たような方法でやろうとしているので、すべてのアンラップなしでより安全になります。

私は次のようなことから始めました:

ただし、ここでのカウントは実際のカウントではなく、列挙インデックスです。

どうすればこれを進めることができますか?