NSPopUpButton
のメニューでどの基準が選択されているかを判断するにはどうすればよいNSRuleEditor
ですか? 中身ruleEditorRowsDidChange(_:)
各行の基準を追跡して変更を手動で処理することもできますが、もっと簡単な方法があるはずです。
ルール エディターのデリゲートで基準のNSMenuItem
代わりに aを返そうとしました。次に、メニュー項目でターゲットとアクションのプロパティを設定します。これにより、ルール エディターでメニュー項目 (条件) が選択されたときにメソッドを呼び出すことができます。また、各メニュー項目のターゲットは基準自体であるため、どの基準がアクション メソッドをトリガーしたかがわかることも意味します。ただし、メニュー項目にターゲットとアクションのプロパティを設定すると、ルール エディターがメニュー項目に設定したプライベート ターゲットとアクションの値が上書きされます。これは、ルール エディターで基準を選択した後、設定したターゲット/アクションが起動するが、選択の変更がルール エディターに反映されないことを意味します。String
value
NSPopUpButton
私の現在の解決策は、基準としてを返しdisplayValue
(から継承しているNSView
ため)、ボタンのアイテムとターゲット/アクションを手動で管理することです。これはうまく機能しますが、ルール エディターのデリゲートに依存するのではなく、単一の基準で複数の値を管理することにより、ルール エディターの設計が少し壊れているように感じます)。
私はこれについて間違った方法で進んでいますか?ルール エディター内で条件が選択されたときに条件固有のコードを実行する簡単な方法はありますか?
ありがとう!