問題タブ [nstreecontroller]
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.
core-data - ビュー間で TreeController を渡すことはできますか?
標準のマスター/ディテール インターフェイスがあり、Coredata と cocoa バインディングを使用しています。
マスター リストは NSOutlineView と NSTreeController を使用します。これらの項目は静的なままですが、さまざまな詳細ビューが入れ替わります。
では、Masterview の Outlineview での選択に対応するように、さまざまな詳細ビューでアレイ コントローラのコンテンツを設定するにはどうすればよいでしょうか。
すべての配列/ツリーコントローラーが同じ .xib ファイルにある場合、これは簡単です。最初に、Treecontroller から Outlet を作成し、これを作成時に別のビューに渡そうとしましたが、これは正しくないと思います。
助言がありますか?
objective-c - childrenKeyPath が nil であるため、操作を実行できません
に子を挿入しようとすると、このクラッシュ エラーが発生するのはなぜNSTreeController
ですか?
Xcode 言います:
* キャッチされない例外 'NSInternalInconsistencyException' によりアプリを終了します。理由: '[オブジェクト クラス: NSMutableDictionary] childrenKeyPath が nil であるため、操作を実行できません' *
なぜこのエラーが発生するのですか? childrenKeyPath とは何ですか? また、なぜそれが必要なのですか (私はインターフェイス ビルダーを使用していません)?
macos - NSTreeController に容量を設定しますか?
私の OSX アプリではNSTreeController
、ドキュメントへの変更を追跡するために を使用しています。ツリー コントローラーは、ソース コントロールとして機能することでバージョン管理を可能にします。つまり、ドキュメントは独自のブランチなどを作成できます。
これまでのところ問題なく動作します。問題は、ドキュメントを変更するたびNSTreeNode
にツリーに が追加されることです。これは、数時間使用した後、ツリーに多くのノードが蓄積されたことを意味します。これは、メモリ内に大量のオブジェクトがあることを意味します。
子ノードを自動的にトリミングする容量を持つを作成する方法はありNSTreeController
ますか ( に与えるように) ? NSArray
そうでない場合、適切な間隔でノードを手動でフラッシュして、メモリ使用量が膨張しないようにする最善の方法は何ですか?
cocoa - NSOutlineView アイテムの編集方法
私は NSTreeController を使用して Outlineview を持っています。ほとんどの場合、新しいアイテムが追加されたときを除いて、すべてが思いどおりに機能しています。編集のためにアイテムが自動的に選択されるようにします。過去に NSTableview を使用するとき、アイテムが配置されている行を特定し、関数を使用していました
ただし、NSOutlineView は NSindexPath を使用するため、これを達成する方法に苦労しているため、行ではなく NSIndexpath を渡して同じ結果を得る関数があります。または、NSOutlineView には別のアプローチが必要です。
objective-c - NSTreeController addChild: は newObject を呼び出しませんが、add: は呼び出します (クラス/オブジェクト モード)
私のサブクラス os NSTreeController は、メソッドが呼び出されたnewObject
ときにのみ実行され、決して実行されないことに気付きましたadd:
addChild:
このスレッドがまったく同じ問題を議論しているのを見つけました。この場合、ユーザーはコア データ モードでツリー コントローラーを使用していますが、私は特定のクラス (オブジェクト モード) を使用するように設定しています。
メソッドaddChild:
を使用しない理由は何ですか?newObject
newObject
が呼び出された場合add:
、それが機能しない理由はわかりませんaddChild:
。Apple の SourceView デモ アプリでこの動作を確認したのは、OutlineController をサブクラスに置き換え、ボタンをadd:
andに接続し、呼び出しaddChild:
のみにしたことです。これは本当に本当に奇妙な振る舞いだと思います。add:
newObject
objective-c - NSTreeController からすべての項目を削除します
Controller.AddObject を使用して追加した NSTreeController からすべての項目をクリアしたいと思います。これは可能ですか?すべてのインデックス パスを取得し、深さで逆に並べ替えて、アイテムを 1 つずつ削除することは可能だと思いますが、データをクリアするだけの方法を望んでいます。