跨多个类文件使用代码

时间:2012-08-17 17:53:07

标签: objective-c ios

假设我有这段代码:

if ([resultButton.titleLabel.text isEqualToString:@"Tax"]) {

        TAXViewController *controller = [[TAXViewController alloc]initWithNibName:@"TAXViewController" bundle:nil];
        controller.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
        [self presentViewController:controller animated:YES completion:nil];
        [controller release];

    }else if ([resultButton.titleLabel.text isEqualToString:@""]){

        RENTViewController *controller = [[RENTViewController alloc]initWithNibName:@"RENTViewController" bundle:nil];
        controller.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
        [self presentViewController:controller animated:YES completion:nil];
        [controller release];

    }else if //repeats a lot......

我想在多个.h文件中使用这个相同的代码。有没有办法编写代码(只在一个地方)并从其他.h文件访问它,而不是在任何地方重复?

所以最后我想,我可以将一个字符串传递给其他.h / .m文件,它会打开带有匹配字符串的视图。

1 个答案:

答案 0 :(得分:1)

将它放在一个类中,并在其子类中创建您想要访问它的所有其他文件。

@interface SomeController : BaseViewController

你也可以简化你的代码

UIViewController *controller;
if ([resultButton.titleLabel.text isEqualToString:@"Tax"])
        controller = [[TAXViewController alloc]initWithNibName:@"TAXViewController" bundle:nil];
else if ([resultButton.titleLabel.text isEqualToString:@""])    
        controller = [[RENTViewController alloc]initWithNibName:@"RENTViewController" bundle:nil];
else if
....
//after all if-else statements
controller.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[self presentViewController:controller animated:YES completion:nil];
[controller release];