NSTableView で特定のレコードが選択されたときにクエリを起動したいのですが、ユーザーがスクロールダウンまたはスクロールアップして UP/DOWN ボタンを押し続けてレコードに到達したときではありません。
私の現在の実装は
if ([notification object] == myTableView)
{
if ([myTableView selectedRow] >= 0) {
myCont = [[MyController alloc] init];
if([[detailsView subviews]count]>0)
[detailsView removeAllSubviews];
NSRect frameRect = [[scDetailsViewController view] frame];
frameRect.size.height = [detailsView frame].size.height;
frameRect.size.width = [detailsView frame].size.width;
[[myCont view] setFrame:frameRect];
[detailsView addSubview:[myCont view]];
//Firing the Query
[myCont populateDetails :[[self myList] entityAt:[myTableView selectedRow]]];
}
}
ただし、この方法では、意図しない長い UP/DOWN プレスが行われた場合でも、クエリが起動されます。
メール アプリケーションのように、NSTableView 内でクリックとスクロール (UP/DOWN キーを押し続けること) を区別する方法はありますか。