問題タブ [nsset]
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.
iphone - 属性に基づいてオブジェクトの配列を一意のオブジェクトに削減する
Ok。
コア データ スタックによって設定された複数のオブジェクトを含む配列があります。各オブジェクトに名前、開始日、終了日、および金額属性が関連付けられているとします。
私がする必要があるのは、NSString である名前に基づいて、この配列を (値だけでなく) 一意のオブジェクトのみに減らすことです。
for ループ内、while ループ内、およびセットを使用して isEqual メソッドを試しましたが、理解できないようです。
何か案は?
更新:もっと明確にする必要があります。基本的に私がやりたいことは、既存の配列を取得し、同じ属性値を持つ重複オブジェクトを削除して、一意のオブジェクトの配列になることです。
objective-c - NSSet からオブジェクトを取得する
NSSet から objectAtIndex: でオブジェクトを取得できない場合、どのようにオブジェクトを取得しますか?
objective-c - NSSet から NSMutableArray を返す方法
NSSet
の内容を次のように入れることができNSMutableArray
ます:
ただし、 [set allObjects] がNSArray
not an を返すため、コンパイラは不平を言いますNSMutableArray
。これはどのように修正する必要がありますか?
nsmutablearray - テーブルビューでの重複コピーの防止
テーブルビューで表示するNSMutableArrayがあります。問題は、この配列にオブジェクトを追加するときに、重複したくないということです。
NSMutableArrayからNSMutableSetを作成し、次にオブジェクトをNSMutableSetに追加してから、それをNSMutableArrayに変換し直す場合、アイテムを追加する前にループを介してNSMutableArrayをチェックするよりも効率的ですか?
iphone - [NSSet allObjects]は毎回同じ順序の配列を返しますか?
.NET Webサービスから返されるカスタムオブジェクトのリストがあり、CoreDataを持つ親エンティティからのTo-Many関係を使用してそれらを格納しています。
NSSetをUITableViewのデータソースとして使用し、行が選択されたときに新しいコントローラーをスタックにプッシュしたいと思います。
使用する場合[NSSet allObjects]
、返される配列は常に同じ順序になりますか?(セットが順序付けられていないので、私は推測しません)
そうでない場合は、セルの名前を取得するためNSArray *myArray = [mySet allObjects];
にinを使用してから、プッシュしようとしているViewControllerにオブジェクトを割り当てるために再びinを使用できますか?cellForRowAtIndexPath
textLabel
didSelectRowAtIndexPath
私はすでに親オブジェクトを合成していUITableViewDelegate
ます。NSArray
合成してallObjects
一度だけ使って作成することも考えviewDidLoad
ましたが、これはメモリ内のデータを複製しています
objective-c - nsarray 内のカスタム オブジェクト NSString プロパティの一意の値
カスタム オブジェクトを格納する配列があります。オブジェクトは、名前 (会場の名前を含む) として定義されたプロパティを持つ Venue タイプです。
ここで、一意の名前を持つオブジェクトを除外したいと考えています。
これが私がやろうとしていた方法です。
NSMutableArray *uniqueVenues = [[NSMutableArray alloc] initWithArray:[uniqueVenuesSet allObjects]]
;
これを実行すると、このエラーが発生します。
誰かがそれをどうやって進めるかについて私に指針を与えることができますか.
iphone - KVCを使用してNSSetの最大値を見つける
このcoredataオブジェクトのorderプロパティで最大値を見つけようとしています:
KVCを使用します。私はAppleのドキュメントをリソースとして使用しています(サンプルコードにエラーがあるようです-欠落しています:そして@が間違った場所にありますが、おそらく何かが欠落していますか?)
そして、私が使用しようとした最新のコードは次のようになります。
次のエラーが発生します。
[33209:207] *キャッチされなかった例外'NSUnknownKeyException'が原因でアプリを終了しています。理由:'[<_ PFCachedNumber 0xc4a9004> valueForUndefinedKey:]:このクラスはKeyMaxのキー値コーディングに準拠していません。
答えが明白で、要点を見逃している場合は申し訳ありませんが、私が間違っていることについての洞察をいただければ幸いです。このトピックに関するAppleのドキュメントは少し曖昧に見えます。ありがとう!
iphone - nsarray を nsset にマージし、iPhone の Objective-C で重複を回避する
編集:より良い例...
したがって、「既存の」オブジェクトの NSMutableSet があり、JSON データをダウンロードして解析し、これらの新しいオブジェクトを既存のオブジェクトとマージして、新しくダウンロードしたオブジェクトで重複を更新したいと考えています。既存のオブジェクトのセットは次のようになります。
たとえば、この新しいオブジェクトをマージした後、ID 1 のオブジェクトのスコアは 9999 になり、ID 4 の新しいオブジェクトがセットに追加されます。
@"id" プロパティが存在することを確認するためだけに、すべての新しいオブジェクトに対して NSMutableSet をループすることを本当に避けたいです... addObjectsFromArray を使用してこれらの新しいオブジェクトをマージできると考えていましたが、プロパティが異なるため (例:スコア: 9999) 新しいオブジェクトがセット内の既存のオブジェクトとして認識されていません。
この例を単純化するために、数値を文字列として使用しています。また、アプリは 3.0 と互換性があるため、iOS SDK 4.0 のみの機能の使用は避けたいと思います。
ありがとうございます!それは有り難いです!
objective-c - NSSet内のオブジェクトとNSArray内のオブジェクトの比較
私はしばらくの間この問題について熟考してきましたが、私はまだ素晴らしい簡潔で効率的な解決策を得ることができません。
問題:
NSArrayであるレシピリストがあります。すべてのレシピオブジェクトには、NSSetオブジェクトとして材料が含まれています。データは1対多の関係であり、coredataから取得されます。ここで、特定の人が現在持っているアイテム(成分)を含むNSArrayの別のリストがあります。
ここで、ユーザーが現在持っているアイテムをレシピの材料と比較し、すべてのアイテムが存在する、1つのアイテムが欠落している、2つのアイテムが欠落している、3つのアイテムが欠落しているなどのセクションを含むテーブルビューでユーザーレシピを推奨する必要があります。
私がこの問題に取り組むべきだとどう思いますか。私はいくつかのことを試しましたが、毎回さらに迷子になってしまいます。
ヘルプ/ポインタは高く評価されます
objective-c - 単一のプロパティによる NSSet の比較
2 つの NSSet が「等しい」かどうかを判断しようとしていますが、isEqualToSet の意味ではありません。2 つのセットのアイテムは同じクラスですが、同じオブジェクトではなく、同じオブジェクトへの参照でもありません。ただし、同じプロパティが1 つあります。それを「name」と呼びましょう。
これら 2 つのセットを比較して単純なセット カウント テストを行い、次に、より複雑な objectsPassingTest: 1 つのセットの各アイテムに対して、同じ名前のアイテムが他のセットにあることを確認するのが私の最善の策ですか? このケースを処理するためのより簡単な方法が存在することを願っています。