Obj-c initWithCoder, кажется, сбой NavigationController - PullRequest
0 голосов
/ 31 августа 2011

кто-нибудь знает, почему, когда я добавляю ...

-(id) initWithCoder: (NSCoder *) decoder {

    OutputDataMutableArray = [[decoder decodeObjectForKey:@"RootViewControllerPostArray"] retain];

    return self;

}

в мой RootViewController, он не будет выдвигать новое представление из ячейки таблицы, используя метод didSelectRowAtIndexPath.Это строка, на которой кажется, что она зависает ...

[[self navigationController] pushViewController:postController animated:YES]; 

Я не получаю сообщений об ошибках, просто кажется, что ее пропускают.Если я не выну initWithCoder, и он будет работать нормально.

любая оценка будет оценена.

Крис

Ответы [ 2 ]

1 голос
/ 31 августа 2011

Вы не вызываете реализацию суперкласса -initWithCoder:.

- (id)initWithCoder:(NSCoder *)aDecoder
{
    self = [super initWithCoder:aDecoder];

    if(self)
    {
        OutputDataMutableArray = [[decoder decodeObjectForKey:@"RootViewControllerPostArray"] retain];
    }

    return self;
}
0 голосов
/ 31 августа 2011

Проверьте журнал и найдите исключения, вызывающие преждевременное завершение работы вашего кода. Или установите перерыв на NSException рейз.

Кстати, вам нужно позвонить [super init] в initWithCoder:

...