Как нажать viewcontroller (просмотр контроллера)? - PullRequest
9 голосов
/ 29 октября 2009

Управление памятью является очень важной проблемой в iPhone. Поэтому я задаю очень общий вопрос. Есть два способа вызвать viewController другого класса.

Путь 1:

AnotherClassViewController *viewController = [[[AnotherClassViewController alloc] initWithNibName:@"AnotherClassView" bundle:nil] autorelease];

[self.navigationController pushViewController:viewController animated:YES];

Способ 2:

    #import "AnotherClassViewController.h"

    @interface ThisClassViewController : UIViewController{

      AnotherClassViewController *myViewController;

    }

    @property (nonatomic, retain) AnotherClassViewController *myViewController;

    @end

    @implementation ThisClassViewController

    @synthesize myViewController;

    - (void) pushAnotherViewController{

    if(self.myViewController == nil){

    AnotherClassViewController *tempViewController = [[AnotherClassViewController alloc] initWithNibName:@"AnotherClassView" bundle:nil];

    self.myViewController = tempViewController;

    [tempViewController release];
    }
    [self.navigationController pushViewController:myViewController animated:YES];
    }

- (void)dealloc{
self.myViewController = nil;
}
@end

Таким образом, очевидный вопрос заключается в том, как лучше всего вызвать viewController другого класса? Way1 или Way2?

Предложения и комментарии приветствуются.

Прокомментируйте и проголосуйте.

Ответы [ 2 ]

19 голосов
/ 29 октября 2009

Хм ... Для простоты, почему бы просто:

MyViewController* viewController = [[MyViewController alloc] init];

[self.navigationController pushViewController:viewController animated:YES];
[viewController release];
7 голосов
/ 29 октября 2009

Способ 1 проще.

Способ 2 позволяет первому контроллеру сохранять ссылку на контроллер в режиме просмотра. Если вам нужна эта ссылка, это будет полезно.

Здесь нет четкого ответа. Это зависит от ваших потребностей. Общее правило, конечно, состоит в том, чтобы сделать код максимально простым, но не проще.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...