为什么我的 IKImageBrowserView->NSView->NSResponder 子类不能成为第一响应者?
Why can't my subclass of IKImageBrowserView->NSView->NSResponder be made first responder?
我有这条线路调用 -makeFirstResponder
:
[self.window makeFirstResponder:libraryViewController.imageBrowser];
imageBrowser
是类型 CaptureBrowserView
,IKImageBrowserView
的子类,NSView
是 NSResponder
[= 的子类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
.
我有这条线路调用 -makeFirstResponder
:
[self.window makeFirstResponder:libraryViewController.imageBrowser];
imageBrowser
是类型 CaptureBrowserView
,IKImageBrowserView
的子类,NSView
是 NSResponder
[= 的子类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
.