Sie müssen Ihre Methoden in verschiedene "Kategorien" aufteilen, die jeweils ihre eigenen h- und m-Dateien erhalten. Sie benötigen auch eine h und m-Datei für die Klasse selbst. Hier ist ein einfaches, kleines Beispiel, das Ihnen zeigen wird, was Sie tun müssen.
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
dann in jeder Datei Ihrer Klasse verwendet, werden Sie
#import "TestClass.h"
#import "TestClass+Category1.h"
#import "TestClass+Category2.h"
verwenden Jetzt können Sie erstellen eine Instanz der Klasse TestClass und es werden alle Methoden von category1 und category2 verwendet. Verwenden Sie einfach
TestClass* test = [[TestClass alloc] init];
[test TestMethod1];
[test TestMethod2];
Wahrscheinlichkeiten sind, dass, wenn eine Klasse genug Methoden hat, um zu rechtfertigen, es in Akten zu teilen, es als mehr als eine Klasse besser strukturiert würde. –