問題タブ [nsarraycontroller]

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 投票する
2 に答える
641 参照

cocoa - ココア; フィルタリングされた配列の合計にテキスト フィールドをバインドする (NSArrayController から)

私は(例えば)車が入ったテーブルを持っています。車にはそれぞれ名前、色、走行距離があります。

インターフェイス ビルダーでバインディングを使用して、すべての車の総走行距離を表示するテキスト フィールドを作成できます。

値 - バインド先: Car Array Controller.arrangedObjects.@sum.mielage

ただし、赤い車と青い車の総走行距離は別箱でお願いします。配列をフィルタリングする述語を使用してこれをコーディングできることはわかっています。

しかし、これを行う必要はなく、テキスト ボックスの IBOutlets をコーディングする必要はありません。できれば純粋にIBでやりたいです。

何か案は??

乾杯、オリ

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

cocoa - Cocoa: NSArrayController のカスタム コントローラー キー

NSArrayController のカスタム コントローラー キーを作成することは可能ですか? 「arrangedObjects」、「selection」などのキーがあります...独自に実装することは可能ですか? これに関する情報がどこにも見つからないようです。

これをやりたいと思った私の理由は(それができると便利なことのように思えることに加えて)次のとおりです。

属性「色」と「走行距離」を持つエンティティ「車」と、これらのオブジェクトを保持してテーブルに表示する配列コントローラー「CarArrayController」があります。テーブルの下に 2 つのテキスト フィールドが必要です。1 つは赤い車の合計走行距離を表示し、もう 1 つは青い車の合計走行距離を表示します。もちろん、すべての車の合計を表示できます: 値を "CarArrangedController.arrangedObjects.@sum.mileage" にバインドしますが、これまでのところ、配列または配列コントローラーをさらに実装しない限り、赤と青の車の合計を個別に取得できませんでした。

明らかに赤い車のみを返すコントローラー キー "arrangedRedCarObjects" を作成できれば、"CarArrangedController.arrangedRedCarObjects.@sum.mileage" にバインドできます。

私は自分の目標を達成する方法を見つけることができないようです:(

私が必要とする結果を得る方法があるはずです (それは一般的な問題のようです)、助けてください!

乾杯、

オリ

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

cocoa - Core Data MacOSXドキュメントベースのアプリケーションでのNSArrayControllerクラスとエンティティモード

NSArrayContollerモード(クラス/エンティティ}の実際の違いを誰かが説明できますか?

ドキュメントベースのCoreDataデスクトップアプリケーションでいくつかのデバッグの問題に直面しています(すべてのコントローラーにエンティティモードを使用)。

私のデータベース構造は非常に複雑になり、間違ったバインディング(タイプミスのキーパスなど)を見つけるのに非常に時間がかかります。また、データモデルのエンティティごとにクラスを生成しました。

すべてのコントローラーをクラスモードに切り替えた場合、バインディングミスの追跡に違いはありますか?

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

core-data - コア データで NSManagedObject のディープ コピーを作成する方法

Core Data 内の既存の NSManagedObject および関連するサブオブジェクトの複製を作成しようとしています。これを行う簡単な方法が見つからないようです。

Core Data データベースから取り込まれた NSArrayController があります。selectionIndex でオブジェクトを取得し、ディープ コピーを作成して、同じ親オブジェクトに関連させ、すべての子オブジェクトをコピーしたいと考えています。

どんな支援も大歓迎です!

リンクを提供してくれた TechZen に感謝します。そのサイトのサンプル コードを使用し、次の呼び出しコードを使用しました。

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

objective-c - NSArrayControllerにバインドされたNSTableViewでカスタム並べ替えを使用するにはどうすればよいですか?

Interface Builderの列の値をの適切なキーに設定することで、にNSTableView接続しました。カスタムの並べ替え順序、具体的にはcompare:options:withを使用したいと思います。これを行うためにコードを変更するか、Interface Builderに別の比較セレクターを使用するように指示することはできますか?NSArrayControllerNSArrayControllerNSNumericSearch

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

multithreading - NSTableView、NSArrayController、NSThreadでクラッシュを列挙しているときに、コレクションが変更されました

私の小さなCoreDataアプリケーションでは、エンティティモードでNSArrayControllerコントローラーにバインドされたNSTableViewビューがいくつかあります。

バックグラウンドスレッドでテーブルに大量のデータをインポートしようとすると、インポートが正常に追加された後(数十から数百のアイテム)、ログでクラッシュします。

重大なアプリケーションエラー。Core Data変更処理中に例外がキャッチされました:***列挙中にコレクションが変更されました。NSHashTable(%@){[5](エンティティ:Word; id:0x1001dd4b0;データ:{.......エンティティの説明はこちら....} ...。

...およびスタックトレース:

テーブルの更新に問題があると仮定して(列挙はスレッドセーフではありません)、インポートが使用を開始する前にコントローラーとテーブルを無効にすることでこの問題を解決しようとしました:

しかし、それは役に立ちません。インポート中も、クラッシュするまで新しいエンティティがストーリーに追加されているのがわかります。

NSArrayControllerがバックグラウンド処理中に変更を追跡できないようにする秘訣は何ですか?それともここで他の問題ですか?

ヒントありがとうございます。

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

cocoa - Core DataにリンクされたNSTableViewで選択した行からデータを取得する

ねえ、私は Core Data アプリに取り組んでおり、Core Data にリンクされた NSTableView を持っています。テーブルには 3 つの列があります。名前、役職、給料。ダブルクリックアクションも設定しました。今私が必要としているのは、行をダブルクリックすると、その行の 3 つの値を取得することです。私は次のことができます:

しかし、そこに得られる出力は次のとおりです。

それらを分離する方法はありますか?

ありがとう

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

objective-c - 関連する NSMutableArray (バインド) を設定するときに NSTableVIew を更新する方法

私をにバインドしようとしNSArraycontrollerましたNSMutableArray; 配列は「iData」型のオブジェクトを保持します (これはカスタム クラスです)。このクラスにはさらにNSMutableString、KVC のキーとして設定されるいくつかの変数が含まれています。NSTableColumn次に、 myをにバインドし、NSArrayControllerすべての列のキー モデル パスをそれぞれ設定します。

アレイにデータを入力しようとすると、GUI に何も表示されません。私は何を忘れましたか?

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

objective-c - [NSTableColumn dataCellForRow] を介して NSCell データを取得する際の問題

スルーNSCellから特定のデータを取得しようとしていますが、同じ行と同じ列に対して異なる値が表示されるたびに。データ ソースは常に同じままです。は.Pleaseにバインドされています。誰かがそれを正しく行うためのより良い方法を提案できるかどうかを確認してください。そして、私はそれらのデリゲート メソッドを実装したくありません。さらに情報が必要な場合はお知らせください。NSTableView[NSTableColumn dataCellForRow]NSTableViewNSArrayController

よろしく

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

objective-c - NSArrayController + コア データ + バインディング

一連の管理対象オブジェクトをリストする NSTableView を含むウィンドウが 1 つあります。これらのオブジェクトを選択して右クリックすると、編集ウィンドウが表示され、それらのオブジェクトのプロパティを編集できます (理論上)。

ウィンドウを表示するコードは次のとおりです。

編集ウィンドウのペン先には NSArrayController があります。ウィンドウにはさまざまなテキストフィールドがあり、それらはすべてNSArrayController、コントローラーキー「選択」、モデルキーパス= nameoffieldにバインドされています。

配列コントローラは有効なオブジェクトです。エラーは報告されません。

ウィンドウが表示されたときに表示されるのは、すべてのテキストフィールドで「選択なし」だけです。私は何が欠けていますか?私は広範囲にグーグルで検索しましたが、Core Data と Bindings を使用して実際にレコードを編集する方法を説明する適切なチュートリアルが見つかりません。