Interface Builder加载错误的类

时间:2012-12-08 16:26:32

标签: objective-c xcode macos interface-builder static-libraries

我创建了一个名为NSTextView的自定义JWTextView子类。它是单独的Xcode项目的一部分。该项目有一个目标,用于创建包含此类的静态库。我现在将此子项目添加到MainProject/Libraries/JWKit下的主项目(在Finder中),并将其添加到Xcode中。我使我的主项目的目标取决于子项目的库目标,我将链接我的主目标库。我还在库和页眉搜索路径中添加了MainProject/Libraries/**

现在我正在尝试在我的主项目中使用此视图。我在我的一个xib中添加了NSTextView,并将其类更改为JWTextView。我的代码中也有IBOutlet JWTextView,并在用户交互时调用了一些方法。 JWTextView.h已导入。一切都编译文件。

但是,当我在我的JWTextView子类中实现的此文本视图上调用方法时,应用程序崩溃时出现无法识别的选择器错误:

-[NSTextView myCustomMetod:]: unrecognized selector sent to instance 0x101901a80

我检查过,它实际上是一个NSTextView实例,即使是非常强大的ivar是JWTextView,我在IB中设置了这个类。

如果我只是将类添加到我的主项目中,它可以正常工作,但不能作为子项目和静态库。

1 个答案:

答案 0 :(得分:0)

编译器对其进行了优化,因为我没有按名称在任何地方引用该类(除了ivar,这似乎没什么帮助)。

[JWTextView class];添加到applicationDidFinishLaunching:解决了问题。