我在Objective-C中制作了一个简单的程序。它有一个类有很多方法。我只想将这些方法放在另一个文件中......所以我可以移动以下内容
- (void) myfunc1 {...}
- (void) myfunc2 {...}
// more functions
到另一个文件并将上面的内容替换为
#include "myNewFile.something"
我很好把#include(或其他)语句放在原始文件中。
我该怎么做?
答案 0 :(得分:2)
您需要将方法拆分为不同的“类别”,每个类别都有自己的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的实例,它将包含category1和category2中的所有方法。只需使用
TestClass* test = [[TestClass alloc] init];
[test TestMethod1];
[test TestMethod2];
答案 1 :(得分:0)
您需要创建一个头文件并将其包含在适当的位置。
如果将所有代码移动到“newFile.m”,请创建“newFile.h”并将所有方法签名放在头文件中。然后在旧文件中,执行“#include oldFile.h”。