为什么我的 IKImageBrowserView->NSView->NSResponder 子类不能成为第一响应者?

Why can't my subclass of IKImageBrowserView->NSView->NSResponder be made first responder?

我有这条线路调用 -makeFirstResponder:

[self.window makeFirstResponder:libraryViewController.imageBrowser];

imageBrowser 是类型 CaptureBrowserViewIKImageBrowserView 的子类,NSViewNSResponder[= 的子类19=]

@property (weak) IBOutlet CaptureBrowserView *imageBrowser;
@interface CaptureBrowserView : IKImageBrowserView
@interface IKImageBrowserView : NSView <NSDraggingSource> {
@interface NSView : NSResponder <NSAnimatablePropertyContainer, NSUserInterfaceItemIdentification, NSDraggingDestination, NSAppearanceCustomization, NSAccessibilityElement, NSAccessibility>

但是我得到这个错误:

Incompatible pointer types sending 'CaptureBrowserView *' to parameter of type 'NSResponder *'

我是不是忽略了一些明显的东西?或者是一个 IKImageBrowserView,由于某种原因,具体无法成为第一响应者?

你真的 #import "CaptureBrowserView.h" 在执行 makeFirstResponder: 的文件中吗?如果编译器此时只看到 CaptureBrowserView 的前向声明,它不知道它是 NSResponder.