次のような(簡略化された)Cocoaビュー階層があります。
window
- contentView
-- view1
---> button1
--view2
---> textField1
重要なことに、button1
&textField1
は直接の superView を共有しません。
button1
何か(正確には関係ありません)を実行するためにターゲットアクションを追加したいと思います(私が作成したカスタムテキストフィールドであるtextField1
と考えてください)。textField1
textField1
私の理解では、「ターゲットアクション」を追加できるように、ボタンには初期化時に参照が必要です。
私の質問は、より複雑な/深い/ネストされたビュー階層にスケーリングする方法で、button1 がこの参照を取得するための最良の方法は何ですか?
私はうまくいけば、もう少しエレガントなものを探しています:
let reference = self.superview.subview[0].subview[0] as NSView
Interface Builder を使用すると、右クリックしてボタンから textField にドラッグし、「接続」を作成できます。これには、ある種の内部 ID が使用されます。コードで行うのと似たようなことはありますか?