2

というカスタムNSTextViewサブクラスを作成しましたJWTextView。これは別の Xcode プロジェクトの一部です。そのプロジェクトには、このクラスを含む静的ライブラリを作成するターゲットがあります。このサブプロジェクトをMainProject/Libraries/JWKit(Finder で) メイン プロジェクトに追加し、Xcode にも追加しました。メイン プロジェクトのターゲットをサブプロジェクトのライブラリ ターゲットに依存させ、ライブラリをメイン ターゲットにリンクしています。MainProject/Libraries/**ライブラリとヘッダーの検索パスにも追加しました。

今、私はメイン プロジェクトでこのビューを使用しようとしています。NSTextViewxib の 1 つにを追加し、そのクラスを に変更しましたJWTextView。またIBOutlet JWTextView、コードに があり、ユーザーの操作時にいくつかのメソッドを呼び出します。JWTextView.hインポートされます。すべてがファイルをコンパイルします。

しかし、サブクラスに実装したこのテキスト ビューでメソッドを呼び出すと、認識できないセレクターエラーJWTextViewでアプリがクラッシュします。

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

私がチェックしたところ、実際にはNSTextViewインスタンスであり、ivarがタフでありJWTextView、IBでクラスを設定しました。

クラスをメイン プロジェクトに追加するだけで問題なく動作しますが、サブプロジェクトおよび静的ライブラリとしては機能しません。

4

1 に答える 1

0

名前でクラスを参照していなかったため、コンパイラーはそれを最適化しました(ivarは役に立たないようです)。

[JWTextView class];問題をapplicationDidFinishLaunching:修正するために追加します。

于 2012-12-08T16:41:10.407 に答える