Правильное заполнение NSArray / NSMutableArray - PullRequest
1 голос
/ 14 июля 2010

Это общий вопрос об управлении памятью и рекомендациях при использовании массивов Какао.

Что из следующего «лучше»:

NSArray *pageControllers = [[NSArray alloc] initWithObjects:
    [[Page1 alloc] initWithNibName:@"Page1" bundle:nil],
    [[Page2 alloc] initWithNibName:@"Page2" bundle:nil],
    [[Page3 alloc] initWithNibName:@"Page3" bundle:nil],
                   nil];

...then release NSArray later when not needed anymore...

Или

NSMutableArray *pageControllers = [[NSMutableArray alloc] init];

UIViewController *page1 = [[Page1 alloc] initWithNibName:@"Page1" bundle:nil];
[pageControllers addObject:page1];
[page1 release];

UIViewController *page2 = [[Page2 alloc] initWithNibName:@"Page2" bundle:nil];
[pageControllers addObject:page2];
[page2 release];

UIViewController *page3 = [[Page3 alloc] initWithNibName:@"Page3" bundle:nil];
[pageControllers addObject:page3];
[page3 release];

...then release NSMutableArray later when not needed anymore...

Или есть что-то еще лучше?

1 Ответ

1 голос
/ 14 июля 2010

В любом случае, все работает нормально, но имейте в виду, что в первом примере вы будете пропускать все свои объекты страницы.

...