【发布时间】:2020-05-28 06:37:01
【问题描述】:
我试图让我的程序识别带有 NSCollectionView 的双击。我已经尝试遵循本指南:http://www.springenwerk.com/2009/12/double-click-and-nscollectionview.html,但是当我这样做时,什么也没有发生,因为 IconViewBox 中的委托为空:
h 文件:
@interface IconViewBox : NSBox
{
IBOutlet id delegate;
}
@end
m 文件:
@implementation IconViewBox
-(void)mouseDown:(NSEvent *)theEvent {
[super mouseDown:theEvent];
// check for click count above one, which we assume means it's a double click
if([theEvent clickCount] > 1) {
NSLog(@"double click!");
if(delegate && [delegate respondsToSelector:@selector(doubleClick:)]) {
NSLog(@"Runs through here");
[delegate performSelector:@selector(doubleClick:) withObject:self];
}
}
}
第二个 NSLog 永远不会被打印,因为 delegate 为 null。我已经连接了 nib 文件中的所有内容并按照说明进行操作。有谁知道为什么或为什么要这样做?
【问题讨论】: