Допустим, у меня есть 2 ViewController: A и B.«EXC_BAD_ACCESS код = 2» Ошибка происходит при попытке установить объект из VC на другой один
Вот некоторые код A:
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Main" bundle: nil];
CategoryVC *vc = [storyboard instantiateViewControllerWithIdentifier:@"categoryVC"];
PParser *destPP = [[PParser alloc] init];
[destPP initWithFullURL:@"http://someurl.com"];
//setPp gives the Error EXC_BAD_ACCESS
[vc setPp:destPP];
SWRevealViewControllerSeguePushController *segue = [[SWRevealViewControllerSeguePushController alloc] initWithIdentifier:@"ANY_ID" source:self destination:vc];
[segue perform];
Вот некоторый код B:
-(void)setPp:(PParser *)pp{
self.pp = pp;
}
Я предполагаю, что эта ошибка связана с указателем, который не установлен правильно Почему я получаю эту ошибку, и как я должен это исправить?
Вы должны объявить 'property' и' 'synthesize' объект PParser' в контроллере назначения вместо переопределения метод установки. –
Setter вызывает бесконечный цикл, потому что 'self.pp =' вызывает себя. Чтобы избежать этого, вы должны ** установить базовую переменную экземпляра '_pp'. Но если вы используете ARC, вам не нужен явный установщик вообще. – vadian
Спасибо, но я где-то читал, что нам больше не нужно использовать синтез с последних версий. это неправильно? – NGG