カテゴリからプロトコルを採用:私はMyClass.h公共ヘッダ、残りの静的ライブラリを作成しました私はこの修正プログラムが実際に動作することを確認したかったし、自分のコードに悪影響はありません
を私のコードのすべてが隠されています。 MyClassは、MyProtocol.hで定義されているMyProtocolプロトコルを採用しています。 MyProtocol.hを非表示にしておきたいのですが、MyClass.hはパブリックヘッダーなので、プロジェクトヘッダーとして隠しておくと、MyProtocol.hが見つかりません。私の解決策:
MyClass.h:
@interface MyClass : NSObject {
//instance variables
}
// methods
@end
がMyClass.m:Can a category simultaneously implement a protocol?、および:
#import "MyProtocol.h"
@interface MyClass() <MyProtocol>
@end
@implementation MyClass
// implementation
@end
私はここ以外で行われているこの種のものの他の例を見ていません問題/答えが元の質問と無関係になってしまった。 だから私はこれが実際にそれがそうであるように見えることを確かめたい、あるいは私がしようとしていることを達成するためのより良い方法があるかどうかを確かめたいと思っていました。
クラスをプロトコルに準拠させるためにカテゴリを使用することは合法です。 –