我创建了一个名为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中设置了这个类。
如果我只是将类添加到我的主项目中,它可以正常工作,但不能作为子项目和静态库。
答案 0 :(得分:0)
编译器对其进行了优化,因为我没有按名称在任何地方引用该类(除了ivar,这似乎没什么帮助)。
将[JWTextView class];
添加到applicationDidFinishLaunching:
解决了问题。