NSPopupButtons を含む 1 つの行を持つビュー ベースのテーブル ビューがあります。ユーザーが popUpButton を変更すると、この popUpButton が含まれているテーブル行を取得する必要があります。
私は最初に行を取得することを期待していました
NSInteger clickedRow = [tableView rowForView: ((NSPopUpButton*) sender)];
ただし、アクションの送信者は常にNSMenuItem
オブジェクトではなくNSPopUpButton
. NSMenuItem
ただし、ビューではないため、使用できませんrowForView
。
現在、私の IBAction は次のようになっています。
- (IBAction)changedPopUp:(id)sender {
NSMenuItem* selectedMenuItem = ((NSMenuItem*) sender);
NSPopUpButton* popupButton = (NSPopUpButton*)[selectedMenuItem view];
NSInteger clickedRow = [tableView rowForView:popupButton];
//[...]
}
しかし、ビュー プロパティは自動的に設定されないため、NSMenuItem ごとに手動で設定するのは非常に不便です。
テーブル行を取得する簡単な方法はありませんか?