Вам нужно будет разделить ваши методы на различные «категории», каждая из которых получает свои собственные файлы 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
Тогда в любом файле, который использует ваш класс, вы будете использовать
#import "TestClass.h"
#import "TestClass+Category1.h"
#import "TestClass+Category2.h"
Теперь вы можете создать экземпляр класса TestClass, и он будет иметь все методы как категории1, так и категории2. Просто используйте
TestClass* test = [[TestClass alloc] init];
[test TestMethod1];
[test TestMethod2];