0

私がこのコードを持っているとしましょう:

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ファイルで使用したいと思います。コードを(1か所だけで)記述し、他の.hファイルからどこでも繰り返さずにアクセスする方法はありますか?

したがって、最終的には、他の.h / .mファイルに文字列を渡すだけで、一致する文字列でビューが開くと思います。

4

1 に答える 1

1

それを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];
于 2012-08-17T17:59:48.840 に答える