Как освободить объекты в MasterViewController - PullRequest
0 голосов
/ 09 февраля 2010

Здесь я сомневаюсь, что у меня есть MasterViewController, у которого нет Superview, и у меня есть метки, которые были объявлены глобально и также используются в различных функциях. Мой вопрос заключается в том, как я могу освободить те метки, которые выделены. Если я использую autorelease, то он генерирует исключения.

- (id)init {
   if(self = [super init]) {

mview = [[UIView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]];
    //mview.backgroundColor=[UIColor clearColor];
    mview.autoresizesSubviews=YES;
    tableView = [[UITableView alloc] initWithFrame:CGRectMake(0,220,320,440) style:UITableViewStyleGrouped];    
    tableView.delegate = self;
    tableView.dataSource = self;
    tableView.rowHeight = 45;
    tableView.backgroundColor = [UIColor clearColor];;
    tableView.separatorColor = [UIColor blackColor];
    [tableView setSectionHeaderHeight:15];
    [tableView setSectionFooterHeight:10];
[mview addSubview:tableView];
}
 for example here I declared table view as global how can i release it?Is it possible to release in dealloc.I place a printf statement in dealloc but it was not displaying.

Anyone's help will be appreciated.

Thank you,

Monish Kumar.

1 Ответ

0 голосов
/ 09 февраля 2010

Во-первых, на самом деле нет необходимости объявлять так много вещей во всем мире, на самом деле это то, что вы должны использовать только в качестве последнего средства. Поэтому я попытался бы повторить ваш код, чтобы избежать этого.

Похоже, для этого вам действительно нужно запустить инструмент Zombies в Instruments и включить NSZombiesEnabled в YES для переменной среды и посмотреть, где количество сохраняемых и сохраняемых объектов увеличивается, а где первый экземпляр объекта-зомби обменивается сообщениями есть.

Вы можете увидеть пример этого здесь: http://www.corbinstreehouse.com/blog/2007/10/instruments-on-leopard-how-to-debug-those-random-crashes-in-your-cocoa-app/

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