私がやりたいのは、カテゴリのメソッドをプライベート メソッドとパブリック メソッドに分けることです。プライベート メソッドは、そのカテゴリの file の外に表示される必要がありますが、クラスの外には表示されません。
たとえば、次のファイルがあるとします。
ClassA.m
ClassA.h // <-- Includes definitions of public category methods
ClassAPrivates.h // <-- Includes definition of private category methods.
ClassA+Render.m
ClassAPrivates.h
次のようになります。
@interface ClassA()
// private methods here, for use inside ClassA
@end
@interface ClassA(Render)
// the private methods of the Render category.
-(void)privateConfigureDeviceContext;
-(void)privateConfigureBufferSpace;
@end
「ClassA.h」は次のようになります。
@interface ClassA : NSObject
// public methods of ClassA
@end
@interface ClassA (Render)
// public methods of category Render
-(void)drawLine;
-(void)drawCircle;
@end
ただし、XCode は Render のインターフェイスが重複していると文句を言います。回避策はありますか?