我有这句话叫-makeFirstResponder
:
[self.window makeFirstResponder:libraryViewController.imageBrowser];
imageBrowser
的类型为CaptureBrowserView
,是IKImageBrowserView
的子类,它是NSView
的子类,是NSResponder
@property (weak) IBOutlet CaptureBrowserView *imageBrowser;
@interface CaptureBrowserView : IKImageBrowserView
@interface IKImageBrowserView : NSView <NSDraggingSource> {
@interface NSView : NSResponder <NSAnimatablePropertyContainer, NSUserInterfaceItemIdentification, NSDraggingDestination, NSAppearanceCustomization, NSAccessibilityElement, NSAccessibility>
但是我收到了这个错误:
将“CaptureBrowserView *”发送到参数的指针类型不兼容 类型'NSResponder *'
我忽略了一些明显的东西吗?或者是IKImageBrowserView,出于某种原因,特别是无法成为第一个响应者?
答案 0 :(得分:1)
您在#import "CaptureBrowserView.h"
的文件中确实makeFirstResponder:
了吗?如果编译器此时只看到CaptureBrowserView
的前向声明,则它不知道它是NSResponder
。