13

一部のUIViewサブクラスを静的ライブラリにリファクタリングしました。ただし、Interface Builderを使用して、静的ライブラリを使用するプロジェクトのビューコンポーネントを作成すると、ライブラリクラスを認識しないことがわかりました。クラスインターフェイスをInterfaceBuilderに表示するには、何をする必要がありますか?

更新:正解は、ヘッダーを「XIBブラウザー」にドラッグすることです。'.h'ファイルは、ファインダーウィンドウから次の画像で識別されるウィンドウ領域にドラッグできます。

代替テキストhttp://img211.imageshack.us/img211/1221/xibbrowser.png

4

4 に答える 4

8

静的ライブラリをInterfaceBuilderのxibブラウザにドラッグしてみてください。静的ライブラリでこれを試したことはありませんが、概念は同じです。ヘッダーファイルをIBにドラッグすると、それらのクラスにアクセスできます。

于 2009-06-29T17:56:10.443 に答える
4

LexH、静的ライブラリを構築するときに-ObjCフラグを使用してリンクしてみてください。それは私にとってはうまくいきました...約1年間:-)OSXの新規インストールとxcodeのアップグレードで問題が再発したため、この投稿を見つけました。しかし、それはXCode3.1.2で機能しました。

  • デビッド
于 2009-08-27T05:42:06.093 に答える
1

LexHと同じ問題を追加します。ダミークラスメソッドを呼び出した場合にのみ機能しました。問題は、ターゲットの下の「ライブラリとバイナリをリンクする」に静的ライブラリを追加しなかったことです。不思議なことに、他のすべてが機能しました。

このガイドに従って、静的ライブラリとリンクしました。静的ライブラリを作成します。

于 2009-11-24T14:51:24.933 に答える
1

私も同じ問題を抱えていました。ライブラリまたはヘッダーをXIBブラウザにドラッグしても機能しませんでした。クラスファイルの読み取りが機能しませんでした。だから私は電話した:

[MyLibraryClass version];    // Substitute your class name for "MyLibraryClass".

これはうまくいきました。versionはNSObjectのクラスメソッドであるため、NSObjectのすべてのサブクラスがそれを継承します。

于 2010-01-23T16:37:27.983 に答える