У меня есть небольшая проблема.
Поскольку все мои UIViewControlles названы в одной схеме:
MyView1Controller.h
MyView1Controller.m
MyView1.xib
MyView2Controller.h
MyView2Controller.m
MyView2.xib
MyView3Controller.h
MyView3Controller.m
MyView3.xib
Теперь я бы предпочел инициализировать свои UIViewControllers с помощью заводского метода.
Поэтому я бы реализовал Cateogry на UIViewController:
static NSString *standardNibFileName;
@interface UIViewController (FactoryInstantiation)
+ (id) standardViewController;
@end
А в контроллере MyView1Controller я бы объявил переменную имени статического nib-файла:
static NSString *standardNibFileName = @"MyView1";
@implementation MyView1Controller
Тогда я мог бы создать все мои UIViewCOntrollers, используя метод:
@implementation UIViewController (FactoryInstantiation)
+ (id) standardViewController;
{
if(standardNibFileName != nil) {
NSString *className = NSStringFromClass([self class]);
Class classToIntantiate = NSClassFromString(className);
return [[classToIntantiate alloc] initWithNibName:className bundle:nil];
}
return nil;
}
@end
Init:
MyView1Controller *a = [MyView1Controller standardViewController];
Но статическая переменная всегда равна нулю.
Есть предложения по решению этой проблемы?
Буду признателен за любую помощь!
Заранее спасибо.