問題タブ [nsbrowser]
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.
macos - NSBrowser でカスタム NSMatrix を設定する方法
NSBrowser の背景色をカスタマイズしようとしています。これを行うには、NSMatrix をサブクラス化し、setMatrixClass: を使用して列のマトリックス クラスとして新しいクラスを設定し、drawRect: を使用してマトリックスをカスタマイズします。
ブレークポイントを使用して、NSBrowser によってカスタム クラスがその matrixClass として設定されていることを確認できます。ただし、マトリックス クラスのブレークポイントがヒットすることはありません (テストとして、drawRect、drawLayer、および awakeFromNib の 4 つのコンストラクターすべてをオーバーライドしました)。私のNSBrowserがmatrixClassを無視しているように、何も起こりません。
何かが起こるかどうかを確認するために、NSBrowser のマトリックス クラスを NSApplication に設定してみました。繰り返しますが、結果はありません。確かに、これはある種のクラッシュを引き起こしたはずですか?setMatrixClass: でも機能しますか?
objective-c - OS X 10.8 以降の Finder のようなセクションを備えた NSBrowser
私には小さな問題がありますが、実際には、それが私にとってより大きな問題になります。NSBrowser を使用して、各列の行をグループ化したいと考えています。グループは、少なくとも行または見出しで区切る必要があります。OS X 10.8+ のファインダーと同じです。行のあるビューに切り替えて、種類またはプログラムで並べ替えます。ところで、NSTableView には必要なものがすべて含まれていますが、NSMatrix の代わりに NSTableView インスタンスを使用するように NSBrowser に指示できませんでした。
行項目をグループ化するようにNSBrowserに指示する方法を知っている人はいますか?
cocoa - 非同期データを含む NSBrowser / NSTreeController
REST API からのデータを表示する必要がある NSBrowser があります。この API は結果を返すのに時間がかかる場合があるため、バックグラウンドでネットワーク トラフィックを処理すると便利です (遅延フェッチ)。サーバー側の変更を反映するために、サブツリーを更新する必要がある場合があります。
私は2つの異なるアプローチを試しました:
- NSBrowserDelegate を使用します。[browserDelegate browser:child:ofItem:] などの関数が、まだ読み込まれていないデータを要求した場合、0 カウントを返し、バックグラウンド処理を開始します。データが利用可能になったら、列をリロードします (あまり効率的ではありません。新しいデータが入ってくると、ユーザーの選択が台無しになります)。
- NSTreeController を使用します。ブロッキング/同期アプローチを使用して、これをうまく機能させました。ただし、モデルを更新するたびに、NSBrowser はツリーをリセットし、選択を親に移動します。[obj mutableArrayValueForKey] アプローチを試しました。[treecontroller insertObject:atArrangedObjectIndexPath:] アプローチを試しました。「選択を保持」フラグを切り替えました。「挿入時に選択」を切り替えました。私が何をしても、NSBrowser は関連するサブツリーだけをきれいに更新したくありません。
結論: NSBrowser にデータを非同期的にロードするためのベスト プラクティスは何ですか?
cocoa - NSBrowser の画像がセルに表示されない
NSBrowser ビューを使用して、ファインダー タイプのアプリでファイルとフォルダーのリストを表示しています。NSBrowser 用の新しい Item Base Api を使用しています。
willDisplayCell
問題は、メソッドでイメージを設定しようとしたときです。ビューには何も表示されません。
コード:
macos - NSBrowserDelegate メソッドを使用してデータ ツリーを表現する方法
NSBrowser
OS X 10.11で JSON 辞書を表現しようとしています。文字列値、文字列値の配列、または同じ辞書のいずれかのメンバーを含む辞書があります。
でfunc rootItemForBrowser(browser: NSBrowser) -> AnyObject?
私は私の辞書を提供します。
func browser(browser: NSBrowser, numberOfChildrenOfItem item: AnyObject?) -> Int
子配列またはディクショナリのいずれかで、オブジェクトの数を返します。
使い方が分からず困っていますfunc browser(browser: NSBrowser, child index: Int, ofItem item: AnyObject?) -> AnyObject
。ここでの戻り値は、より多くのデータへのキーである、メンバーの 1 つの文字列値になります。しかし、この子を選択すると、作業対象の親文字列しかありません。実際に辞書を走査するには、ユーザーがこれまでに選択したパス全体が必要です。
path()
のメソッドを調べてみましたNSBrowser
が、これらのデリゲート メソッドで無限ループが発生します。私は Finder のようなアプリを見て、それらがどのように私が望むパスを達成するのか興味があります。