ヘッダーファイルをインポートできるかどうか疑問に思っていましたが、そのヘッダーファイルに含まれているヘッダーは含まれていません。
クラスBをインポートするクラスAがあるとします。クラスBでは、クラスCをインポートします。クラスCをクラスAから非表示にする方法はありますか?
ヘッダーファイルをインポートできるかどうか疑問に思っていましたが、そのヘッダーファイルに含まれているヘッダーは含まれていません。
クラスBをインポートするクラスAがあるとします。クラスBでは、クラスCをインポートします。クラスCをクラスAから非表示にする方法はありますか?
いいえ、それはできません。ファイルをインポートすると、そのすべてのインポートも同様に行われます。
ただし、のみを使用する場合は、のヘッダーをインポートする代わりに、独自のヘッダーで前方宣言するClassAことができます。ClassA
@class ClassA;
これで、型の変数を作成したり、戻り型やパラメータ型としてClassA*使用ClassA*したりできます。同時に、ClassAのヘッダーの依存関係は読み込まれません。
一般に、ヘッダー内にインポートするヘッダーの数を減らすことをお勧めします。たとえば、(インターフェイスではなく)実装に関連するインポートを.mファイルに移動し、クラス拡張子を使用します。