objective-c - 无法识别的选择器发送到带有抽屉的实例

标签 objective-c cocoa properties

我正在尝试将抽屉函数编程到 Smultron(一个开源代码编辑器)中,但我遇到了一些麻烦。我不断收到错误消息:

2009-09-20 12:43:06.067 Smultron[4481:a0f] -[SMLProject directoryDrawer]: unrecognized selector sent to instance 0x2003ea6c0

现在,在界面生成器上的 SMLProject 中,我将一个 NSDrawer 东西连接到其主窗口,并将其添加到 SMLProject.h 中:

@property (readonly,retain) IBOutlet NSDrawer *directoryDrawer;
@property (readonly) IBOutlet NSOutlineView *directoryDrawerList;

并将其添加到 SMLProject.m(通过 SMLCurrentProject 中的另一种方法打开目录时调用该文件)

- (void)openDirectoryDrawer:(NSString *)directory
{
    // todo: set directory contents
    [[self directoryDrawer] setParentWindow:[self window]];
    [[self directoryDrawer] open];
}

最佳答案

您是否综合了 SMLProject.m 中的属性?

@synthesize directoryDrawer, directoryDrawerList;

另外,为什么directoryDrawer设置为readonly,以及retain属性? Retain 根本没有意义,因为该属性是只读的。

关于objective-c - 无法识别的选择器发送到带有抽屉的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1450854/

相关文章:

objective-c - Swift 中是否真的需要可选项?

iphone - 根据手势重新排列 UIIview

objective-c - Cocoa 示例 - 为什么不需要保留或释放消息

objective-c - 如何知道字符串中的前 5 个字符

objective-c - 为什么我的 NSTableView 数据源方法出现 EXE_BAD_ACCESS 错误?

java - Spring 启动配置 : how to return always same random value when referenced?

objective-c - iOS:有什么方法可以检查属性名称是私有(private)名称还是保留名称?

objective-c - +exposeBinding 不起作用

objective-c - 如何将多对多关系绑定(bind)到tableview?

c# - 使用 C# 更改可执行属性(产品名称)