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

时间:2015-11-04 16:00:02

标签: objective-c cocoa first-responder imagekit

我有这句话叫-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,出于某种原因,特别是无法成为第一个响应者?

1 个答案:

答案 0 :(得分:1)

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