問題タブ [nstablecolumn]

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

objective-c - 異なるコンテンツを持つ複数のNSTableViewがあります-データを表示しません

2つのTableViewがあります(1つはSourceList、もう1つはNormal TableView)。私はArrayControllersを使用しておらず、次のものを使用しています。

これにより、行の内容が表示されます。しかし、問題は、TableViewが1つだけではなく、複数あることです。そこで、このコードを含む別のNSObjectを追加しました。ただし、コンテンツは表示されません。

ArrayControllersを使用する必要がありますか?または、別の方法で2番目のTableViewのコンテンツを表示できますか?

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

objective-c - NSFormatterサブクラスをNSTableColumnソートキーおよびセレクターと連携させる方法は?

私のセットアップ:

  • NSDictionaryオブジェクトのNSMutableArrayにデータを入力するsqliteデータベースがあります。これは、NSTableViewのデータソースです。
  • 列の1つは「時間」を保持し、時間は秒を保持するフロートです。
  • この列の値を分:秒で表示したいと思います。たとえば、私のデータは123.4329387になります。2:03を表示したいのですが、列のNSTextFieldに適用されたNSFormatter(またはNSNumberFormatter)のサブクラスで問題はありません。
  • IBのテーブル列属性を使用して並べ替えを設定しました。並べ替えキーを「time」に設定し、セレクターを「compare:」に設定しました。これは、フォーマッターがなくても正常に機能します。

現在、これは私がソート(降順)するときに私にこのようなものを与えます

1:37、1:31、0:10、0:10、0:09、1:30、1:30、1:26、0:09

同様のナンセンスで、何かが起こっているように見えますが、それは間違いなくソートされていません。

フォーマットされた値ではなく、基になるデータを参照するように並べ替えるにはどうすればよいですか?または、カスタムの並べ替えメソッドを指定するにはどうすればよいですか?また、そのメソッドのコードはどこに配置すればよいですか?私はかなり周りを検索しましたが、この問題を解決するのに役立つものは何も見つかりませんでした。これに関する助けをいただければ幸いです。

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

cocoa - コア データ イメージが NSTableView イメージ セルに読み込まれない

私のコードでは、画像を Core Data モデルに保存しています (正常に動作します)。NSImageView を持つようにビューを設定し、そのデータを Controller Key: selection と modelKeyPath: myImagePath にバインドすると、機能します。選択した行の各画像が表示されます。

次に、NSTableView に新しい列を作成し、画像セルを列にドラッグします。ただし、Core Data バインディングで画像をセルに表示することはできません。値とデータの両方をバインドしようとしましたが、うまくいきません。

画像が適切に保存されていると確信しているため、バインディングで画像がテーブル セルに表示されないようにするために間違っていることは何ですか?

本当にありがとう。

(私のバックグラウンド: 最近、Hillegas の本全体を読んだ新しい Cocoa 開発者です。)

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

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

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

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

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

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

編集

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

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

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

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

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

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

macos - NSDictionary から NSTableView にデータをバインドする方法は?

NSDictionary のバインディング値を使用して NSTableView を埋める方法を知っている人はいますか?

前もって感謝します。

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

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

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

よろしく

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

objective-c - NSTableVIewで並べ替えを無効にする方法は?

特定のヘッダー列をクリックすると、テーブル内のデータが反転したり、逆さまに並べ替えられたりするたびに、NSTableViewが表示されます。私もチェックNSTableViewしましNSTableColumnたが、これを無効にする方法が見つかりませんでした。特定の列のヘッダーをクリックしてこの並べ替えを無効にするのを手伝ってくれる人がいれば、私は義務付けられます。

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

cocoa - @sum などのコレクション演算子を使用した NSTableColumn バインディング

Mac OS X. CoreData アプリ。Country エンティティの管理対象オブジェクト コンテキストにバインドされた NSArrayController によって制御される NSTableView。Country エンティティには、'name' 属性と、Branch エンティティへの対多関係、'branches' があります。Branch エンティティには、'sales' 属性 (NSNumber) があります。

NSTableView には 2 つの NSTableColumns があります。最初は国の名前を示しています。2 つ目は、その国のすべての支店にわたるその国の総売上を表示する必要があります。

最初の列の値は、「名前」のモデル キー パスを持つ NSArrayController の ArrangeObjects にバインドされます。問題ありません。

2 番目の列の値は、「branches.@sum.sales」のモデル キー パスを持つ NSArrayController の ArrangeObjects にバインドされます。これはうまくいきません。「 addObserver:forKeyPath:options:context:] is not supported. Key path: @sum.sales」というエラー メッセージが表示されます。

代わりに、Country クラスに「totalSales」メソッドを追加し、メソッドを次のように実装するとします。

次に、列を「totalSales」にバインドすると、正常に機能します。Collection Operators のドキュメントに関する私の理解では、これは単純に「branches.@sum.sales」にバインドするのと同じはずです。後者が機能しない理由がわかりません。何か案は?このフォーラムや他のフォーラムで同様の質問を見たことがありますが、まだ説明や解決策を見つけていません。

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

cocoa - NSTableColumnは、最初の列のみを自動サイズ変更します

4列のNSTableViewがあります。最初のNSTableColumnの自動サイズ変更プロパティを変更したいと思います。ユーザーがアプリのサイズを変更した場合、幅を変更できるのは最初の列のみです。私のコード:

ご覧のとおり、列はプログラムで追加されます。

ありがとう!