あなたはそれぞれ独自のhとmファイルを持つ異なる "カテゴリ"に分割する必要があります。クラス自体にもhとmファイルが必要です。ここでは、あなたが何をする必要があるかを示す簡単な小さな例があります。
TestClass.h
#import <Cocoa/Cocoa.h>
@interface TestClass : NSObject {
}
@end
TestClass.m
#import "TestClass.h"
@implementation TestClass
@end
TestClassを+ Category1.h
#import <Cocoa/Cocoa.h>
#import "TestClass.h"
@interface TestClass(Category1)
-(void)TestMethod1;
@end
TestClassを+ Category1.m
#import "TestClass+Category1.h"
@implementation TestClass(Category1)
-(void)TestMethod1 {
NSLog(@"This is the output from TestMethod1");
}
@end
TestClassを+ Category2.h
#import <Cocoa/Cocoa.h>
#import "TestClass.h"
@interface TestClass(Category2)
-(void)TestMethod2;
@end
TestClassを+ Category2.m
#import "TestClass+Category2.h"
@implementation TestClass(Category2)
-(void)TestMethod2 {
NSLog(@"This is the output from TestMethod2");
}
@end
その後、あなたのクラスを使用しているどんなファイルで、あなたは今、あなたが作成することができます
を使用しますTestClassクラスのインスタンスであり、category1とcategory2の両方からすべてのメソッドを持ちます。単純に使用する
TestClass* test = [[TestClass alloc] init];
[test TestMethod1];
[test TestMethod2];
クラスにファイルへの分割を正当化する十分なメソッドがある場合、複数のクラスとしてより良い構造になる可能性があります。 –