問題タブ [nsorderedset]
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.
objective-c - セットからの配列:NSOrderedSetが配列を使用するのにNSSetがallObjectsを使用するのはなぜですか?
Foundationでは、セットをに変換する場合はNSArray
、次を使用できます。
-[NSSet allObjects]
-[NSOrderedSet array]
なぜこれらは違うのですか?
core-data - NSOrderedSet からオブジェクトを追加/削除するためのカスタム NSManagedObject クラス
私は Cocoa を学んでいて、Aaron Hillegass の本 (Chapter 32 Core Data Relationships) の例に従っていますが、自分のアプリでは動作しません。
私は、子と対多の関係を持つ親オブジェクトで構成されるコアデータモデルを持っていますが、私のものは、基本的なNSMutableSetである本とは異なり、順序付きセットです。
親と子の各オブジェクトには NSArrayController が関連付けられており、Interface Builder でドキュメントベースのアプリを開発しました。選択した親 (この場合はパーセプトロンと呼ばれます) から子オブジェクト (私の場合はパーセプトロンと呼ばれます) を追加/削除するボタンとバインディングを備えています。層)。それはすべて働いています。
ここで、子が追加または削除されるたびに独自のコーディングを行えるように、add メソッドと remove メソッドをインターセプトしたいと考えています。
Hillegass の本では、彼は NSManagedObjects サブクラスを作成し、コードに addEmployeesObject: および removeEmployeesObject: メソッドを実装することでこれを行っています。それが私が試したことです。
XCode エディターによって作成された子サブクラスは次のとおりです。
そして、テキストブックに従って Layer.m に実装した 2 つのメソッドを次に示します。
NSLogs を入れたので、それらが呼び出されていないことは確かです。パーセプトロン オブジェクトを追加/削除しても、コンソールには何も表示されません。
add: remove: メッセージを受け取ったとき、ArrayController は何をしますか? addObject/removeObject メッセージをセットに直接送信していますか? 教科書の例で、子を削除するために親オブジェクトにメッセージを送信するのはなぜですか? ここでそれが起こらないのはなぜですか?これをデバッグして調べる方法はありますか?
ありがとう
cocoa - NSOrderedSetによるNSArrayの並べ替え
私はNSFetchRequest
次の述語でを行っています:
...ここindexes
で、NSOrderedSet
は数字です。
これにより、指定されたインデックスを持つ「ランダムにソートされた」オブジェクトの配列が得られます。オブジェクトが順序セットと同じ順序で表示されるように、これを並べ替える必要があります。
これを行うための最も効率的な方法は何でしょうか?
アップデート
マーティンRの回答に基づくカテゴリは次のとおりです。
iphone - NSOrderedSet の順序を使用して NSFetchedResultsController の結果をソートする方法
NSOrderedSets は、テーブル内のオブジェクトの順序を保存します。NSOrderedSet であるプロパティを使用して NSManagedObject サブクラス インスタンスにアクセスすると、順序が正しくなります。
ただし、NSFetchRequest を作成するときに NSSortDescriptor を使用してその注文にアクセスする方法はないようです。
生の SQLite DB から、その順序は という名前のフィールドに格納されているようですZ_FOK_<relationship name>
。データは利用可能ですが、コア データ API からは見えないようです。
NSOrderedSet で指定された順序で結果を返すために SQLite DB で動作する NSSortDescriptor を記述する方法を知っている人はいますか?
アップデート
ios - NSManagedObject 認識されないセレクターがインスタンスに送信されました
次のような Core Data モデルがあります。ここで、子は対多の関係です。
.h
.m
次に、次を使用して設定しようとします。
しかし、その最後の行で、次のエラーが発生します。
NSCFConstantString managedObjectContext]: インスタンス 0xe8fa0 に送信された認識されないセレクター
コンパイラに変更NSOrderedSet
すると、 .NSSet
NSOrderedSet
セットを に割り当てるにはどうすればよいNSManagedObject
ですか?
ios - CoreFoundation トラップ エラー "Thread1:EXC_BREAKPOINT (code=EXC_ARM_BREAKPOINT, subcode=0xdefe)"
私はあなたの助けが必要です 私はこの苛立たしい「ランダム」エラーを持っています.
アプリは 1 つと 2 つ目のコントローラーでMapviewcontroller
構成されます。collectionview
2 番目のコントローラーからマップに戻ると、「trap」行でこのエラーが発生してアプリが突然クラッシュすることがあります。クラッシュ レポートは、私のコード行を指していません。
EXC_BREAKPOINT (コード=EXC_ARM_BREAKPOINT、サブコード=0xdefe)
同じアプリの同じバージョンをビルドして数日間スムーズに実行できるため、「ランダムエラー」と言いましたが、突然スタックしました。アプリの制御を取り戻す唯一の方法は、iPad から手動で削除して再構築することです。
参考までに、アプリは Coredata を使用します。
何か案は?エラーの原因を特定する方法はありますか?
どんな助けでも大歓迎です、ありがとう!
ios - nsmutablearray に一意のオブジェクトを追加するには?
内部に NSStrings を含む NSObject があります。一意の obj.name を持つオブジェクトを NSMutableArray にのみ追加するにはどうすればよいですか? NSOrderedSet を試しましたが、内部に NSString を含むオブジェクトではなく、配列に NSString を追加した場合にのみ機能します。
例。
2 つの MyObject が同じ名前にならないようにするにはどうすればよいですか?