-(void)rightMouseDown:(NSEvent *)theEvent
{
cvcont = [[CollectionViweItemSubClass alloc] init ];
NSMenu * m = [[NSMenu alloc] init];
//[cvcont openInFinder];----perfectly working------
[self setTarget:cvcont];
[m addItemWithTitle:@"show in finder" action:@selector(openInFinder) keyEquivalent:@""];// not working-----
[NSMenu popUpContextMenu:m withEvent:theEvent forView:self];
}
ボタンをサブクラス化し、クラスからメソッドを呼び出しました CollectionViweItemSubClass
。通常どおり呼び出すと、機能しています。しかし、メソッドは 経由で接続されませんでしたNSMenu
。以下のコードは、クラス CollectionViewItemSubClass からの私のメソッドです
-(void)openInFinder {
NSString *savedValue = [[NSUserDefaults standardUserDefaults]
stringForKey:@"filePath"];
[[NSWorkspace sharedWorkspace] selectFile:savedValue inFileViewerRootedAtPath:nil];
}