問題タブ [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 投票する
1 に答える
481 参照

iphone - InterfaceBuilderでアレイコントローラが見つかりません

iPhoneアプリでコアデータを使い始めたばかりです。2つのプロパティ(日付、値)を使用してエンティティ(メジャー)を作成しました。私が読んでいるtutosによると、次にInterfaceBuilderでアレイコントローラーを作成する必要があります。事は...私はそれをIBで見つけることができません。このタイプのコントローラーをリストに含めるように構成するものはありますか?ありがとう、リュック

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

objective-c - コアデータ:NSTableViewでの並べ替えと多数の関係

NSTableViewで多対多の関係の内容を順序付けておくのに問題があります。

私が持っているのは、NSArrayControllerによって管理されているエンティティ「Card」と多対多の関係にあるエンティティ「Relationship」です。カードには、NSTableViewの2つの列にBindingsを介して表示される「number」(int)と「name」(String)の2つの属性があります。テーブルの列を永続的に並べ替えることはできますが、カードを新しく挿入するたびに、テーブルビューの行がランダムに再配置されます(ただし、カードを削除すると行の順序が維持されます)。

私が望むのは次の動作です。ユーザーは列を並べ替えることができますが、カードを挿入すると、カードはテーブルの最後の行として表示されます(挿入時に直接並べ替えられませんが、もちろん、ランダムな再配置は表示されません。また)。ユーザーが再度並べ替えた場合にのみ、新しいカードも並べ替えられます。

対多関係の内容がセットになっていることは知っていますが、そこからどうやって進むのかわかりません。

助けていただければ幸いです。

0 投票する
5 に答える
5624 参照

objective-c - NSArrayController:removeAllObjectsはTableViewを更新しません

私のアプリケーションでは、オブジェクトをArrayControllerに直接追加します。私がするすべてのアイテムをきれいにしたいとき:

ただし、このコマンドは、アレイコントローラがバインドされているTableViewを更新しません。すべてのアイテムを削除して別の新しいアイテムを追加すると、そのアイテムのみが表示されます。それは問題ありませんが、何も追加しなくても、すべてのアイテムがテーブルに残っています。

私が行った場合

古いアイテムはすべてテーブルビューから削除されますが、編集できる新しい空のアイテムが表示されます。私はそれを望んでいません、そして私の列の1つにチェックボックスセルがあるので、私は常にチェックボックスのある行を取得します。

既存のアイテムをすべて削除した後、アイテムのない空のテーブルが必要です。

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

objective-c - コアデータ:エンティティはいつどこでロードされますか?

CoreDataについて質問があります。アプリケーションを開始するとき、データ(Core Dataによって自動的に保存される)はいつNSArrayControllersにロードされますか?ユーザーが操作する前に、最初に変更したいと思います。

具体的には、エンティティプレイリスト用のNSArrayControllerがあります。ユーザーが新しいプレイリストを追加したり、アプリを操作したりする前に、プログラムでプレイリストを変更したいと思います。windowControllerDidLoadNib:NSPersistentDocument(MyDocument.m)と、NSPersistendDocumentとNSArrayControllerの両方で試しましたawakeFromNibが、これらのメソッドをチェックインすると[[myArrayController arrangedObjects] count]、結果として0が返されます(アレイコントローラーのコンテンツは空です)。

しかし、私は実際にデータを保存していて、それがユーザーに表示されています。そもそもいつどこで変更できるのかわからない。

助けてくれてありがとう。

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

iphone - NSArray で観察するキー値

SO でキー値観測をNSArray(または) で使用する例を調べましたが、(私が慣れていないのとは異なりNSMutableArray) を使用する必要があるようですが、これを行う方法の具体的な例は見つかりませんでした。誰かサンプルコードで説明できますか?NSArrayControllerKVO

たとえば、プレイヤー名をofGameModelで表す があるとします。これらの文字列を観察して (View Controller がモデルのデータを観察します)、ビュー内のさまざまなものを更新したいと考えています。NSArray (playerNameArray)NSStrings

プレイヤー名の配列が変更されたという通知を受け取るにはどうすればよいですか?

EDIT:iOS SDKはサポートしていNSArrayControllerますか?そうでない場合、別の方法はありますか?

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

cocoa - シリアルナンバー表示 NSArrayController と cocoa バインディングを使用したテーブル列

簡単な質問があります:

シリアルナンバーの表示方法 または(行番号+ 1)ココアバインディングとアレイコントローラーを使用してテーブル列に?

cocoa バインディングと配列コントローラーを使用してアプリケーションを作成しました。このアプリケーションでは、特定の人物の名前を表の列に表示しています。私が表示しているクラスの名前は Person. ここで、シリアル番号を表示したいと思います。リストが次のように表示されるように、最初の列に:

1 / ジョン

2 / ピーター

データ ソース メソッドを使用すると、非常に簡単に実行できます。

私はちょうどこのようなものを返す必要があります:

しかし、ココアバインディングとアレイコントローラーを介してこれを行う方法がわかりません。

誰かが私に解決策を提案できますか?

ありがとう、

ミラージュ

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

cocoa - NSArrayController のコンテンツの各要素の一意の識別子を取得する

バインディング/コア データと互換性があり、データのコレクションを表すカスタム ビューを作成しています (NSTableView 風)

ユーザーが変更した後、ビューがコレクション内の要素の特定のサブセット (現在の選択以外) を参照できる方法はありますか?

ちょっとしたコンテキスト:
ビューは、2D 空間にユーザーが移動できる多数のボックスを表示します。各ボックスは、モデル内のレコードに対応しています。いくつかは一度に移動できますが、各ボックスのデルタ値が同じであることに依存することはできません (したがって、選択した各オブジェクトにデルタを追加する必要はありません)。

ビューがそのIDを各ボックスに関連付けることができるように、NSArrayControllerによってコンテンツ配列の各要素に割り当てられたIDのようなものを探していると思います。私が最初に考えたのは、コンテンツ配列でインデックスを使用することでしたが、これは元に戻す/やり直しによって台無しになる可能性があります。NSArrayController をサブクラス化して、各モデル項目の ID を自動生成するようにできますが、cocoa はすでにこのようなことを行っているのでしょうか? 何かが欠けているような気がします。

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

cocoa - NSArrayControllerをivarにバインドする際の問題

カスタムビューのバインドされたプロパティに問題があります。プロパティは、コアデータエンティティのNSArrayControllerにバインドされています。

ここに問題があります:

私の見解では、いくつかの長方形を描きます。これらの長方形の位置は、コアデータのエンティティに保存されます(NSValueでラップされたNSRectsとして)。長方形はドラッグ可能です。長方形をドラッグすると、エンティティが新しい位置に更新されます。しかし、arrayControllerをビューにバインドする方法がわかりません。

すべてがどのように接続されているかを次に示します。

  • ビューとarrayControllerへのアウトレットを備えたwindowControllerがあります。

  • arrayControllerは、windowControllerのmanagedObjectContextにバインドされているため、コアデータモデルにバインドされています。(そのバインディングとエンティティへのバインディングはInterface Builderで確立されます)

  • ビューは、ivar「rectangleValuesArray」を使用してarrayControllerにバインドされます

その最後のバインディングは、以下を使用してwindowControllerで確立されます。

これまでのところうまくいきます。

今、私は反対方向のバインディングを確立しようとしました:

これで、ivarを変更すると、エンティティが更新されます(右?)。しかし、それは機能しません-私はコンソールからそれを取得します:

ここで何が間違っているのですか?誰か助けてくれませんか?

サイモン

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

core-data - NSArrayControllerの選択

次のことを実現したい:人物のリスト(名前、誕生日、写真)がありますNSPopUpButtonで人物名を選択し、その他の詳細を以下に示します。

バインディングのみを使用してそれを行うにはどうすればよいですか?

NSArrayControllerを使用してNSPopUpButtonにデータを入力します。NSArrayController.selectionを使用します。誕生日と写真のフィールドに入力します。しかし、NSArrayControllerのNSPopUpButton選択プロパティで名前を選択しても変更されません。

つまり、バインディングのみを使用して、NSArrayControllerの変更選択プロパティのNSPopUpButtonで選択されたオブジェクト(NSManagedObject)を取得するにはどうすればよいですか。

ありがとう、ヴラド

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

cocoa - 複数のソート記述子を持つ列にインジケーター画像を設定するにはどうすればよいですか?

上記のコードは、三角形の並べ替え画像を設定していません。複数の並べ替え記述子を設定していますが、単一の並べ替え記述子に変更すると、列ヘッダーに正しい画像が表示され始めます。どちらの場合も、currentImageは、正しい画像が設定されていることを示しています(降順でも同じです)。

上記のメソッドでアクションの順序を変更し、reloadDataをtableViewに送信しても、結果には影響しませんでした。

setIndicatorImageは期待どおりに機能しているように見えますが、どういうわけか画像がヘッダーに表示されていないか、少なくとも表示されていません。

ここで何が欠けていますか?

編集

コードは、NSViewControllerのサブクラスをアプリのウィンドウのメインビューに配置するために使用されます。