私はSDKを書いており、パブリックAPIを持つMyClass.h
というヘッダーを持っています。私のプロジェクトでpublicメソッドを公開する方法はありますが、public APIでは公開されません。
一部のメソッドは- (void)foo;
のようなヘッダーには書き込まれないため、ユーザーは使用できません。
しかし私の他のクラスはfoo
の方法を使用していますが、MyClass.h
に登録されていないので使用できません。だから私が書いたfoo
メソッドをコールする各クラスの
:
@interface MyClass()
- (void) foo;
@end
は、それが法的ですか?私は3つの他のクラスで同じものを書く必要があり、それは奇妙に見えます。
は内部使用のためのメソッドを公開しますが、公開APIは公開しません。
なぜMyClass_Project.hを 'MyClass.m'にインポートする必要がありますか? – snaggs
コンパイラがメソッドのシグネチャが一致し、クラスが 'MyClass_Project.h'で宣言されているすべてのメソッドを定義していることを確認します。 –