3

私はビューベースのNSTableViewを持っています。私のtextFields & imageViewsは、NSTableCellViewのobjectValueのプロパティにバインドされています。NSTableCellViewのNSButton:希望のobjectValueを見つけるには?

私は私のNSTableCellView編集/インフォボタン持たせたい場合は:

  1. ボタンのアクションの対象とすべきですか?

  2. ターゲットは、ボタンが入っているセルに関連付けられたobjectValueをどのように取得しますか?

私は最終的にobjectValueに基づいてポップオーバー/シートを表示したいと思います。

答えて

6

コントローラクラスをターゲットにすることができます。オブジェクトの値を取得するには:

- (IBAction)showPopover:(id)sender { 
    NSButton *button = (NSButton *)sender; 
    id representedObject = [(NSTableCellView *)[button superview] objectValue]; 
} 

あるいは、NSTableCellViewのサブクラスを使用し、電池はボタンのアクションのターゲットを表示し、オブジェクトを取得するために[self objectValue]を呼び出します。

14

私は追加の答えが見つかりました:上記の答えは、テーブルビューでバインディングを使用していると思われるようです。私は一種のノブなので、テーブルビューのセルの中にボタンを入れる方法を見つけました。

このように、行内のボタンをクリックすると、行を選択する必要はありません。バインディングのない配列のデータソースと一致する行のint値を返します。

関連する問題