Звучит так, будто вы хотите "категорию". Категория - это способ добавления методов к существующим классам, независимо от того, есть ли у вас их исходный код или нет.
Итак, у вас есть:
//ViewController.h
@interface ViewController : UIViewController {
}
@end
//ViewController.m
#import "ViewController.h"
@implementation ViewController
...
@end
Вы хотите другой файл с большим количеством методов для ViewController
, правильно? Если так, то вы бы сделали:
//ViewController+Extras.h
#import "ViewController.h"
@interface ViewController (Extras)
- (UILabel *)createLabel;
@end
//ViewController+Extras.m
#import "ViewController+Extras.h"
@implementation ViewController (Extras)
- (UILabel *)createLabel {
return [[[UILabel alloc] initWithFrame:CGRectMake(0,0,42,42)] autorelease];
}
@end
И тогда вы сможете сделать:
//ViewController.m
#import "ViewController.h"
#import "ViewController+Extras.h"
@implementation ViewController
- (void)doStuff {
UILabel *newLabel = [self createLabel];
//do stuff
}
@end
Для получения дополнительной информации о категориях, ознакомьтесь с документацией .