Добрый день.
Возникает ошибка с памятью при выполнении приложения.
[5133:307051] *** -[DeclarantController retain]: message sent to deallocated instance 0x7f9e53d22b50
Форму открываю после запроса данных в фоновом потоке.
dispatch_async(dispatch_get_main_queue(), ^{
DeclarantController *viewController = [self.storyboard instantiateViewControllerWithIdentifier:@"DeclarantController"];
viewController.consultData = self.consultData;
viewController.parentView = self;
[self.navigationController pushViewController:viewController animated:YES];
});
Упростил контроллер, но ошибка выскакивает если в viewDidLoad поставить вызов метода getDeclarantKind. Если закомментировать, то ошибки не возникает. Ошибка возникает даже с пустым методом.
@implementation DeclarantController : BaseController
- (void)viewDidLoad
{
[super viewDidLoad];
[self tableColor];
[self getDeclarantKind];
}
-(NSMutableArray*)getDeclarantKind
{
}
@end
Если просто идти по формочкам приложения то ошибок нет. Ошибка возникает при следующем алгоритме:
1. Открывается форма А на ней есть кнопка с переходом на форму Б
2. Открывается форма Б на ней запрос API с сайта в фоновом процессе. Если ответ пришел, открывается форма С
3. Форма Ц нормально работает
4. Переходим назад свайпом на форму Б и затем свайпом на форму А
5. Повторяем пункты 1-3. Форма открывается
6. Переходим назад свайпом на форму Б и затем свайпом на форму А
7. Повторяем пункты 1-3. Форма Ц открывается но кнопки сползают. После нажатия на любую область экрана вылетает ошибка в main.m
int main(int argc, char *argv[])
{
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
}
Thread 1: EXC_BREAKPOINT (code=EXC_I386_BPT, subcode=0x0)
Самое непонятное почему ошибка срабатывает только на 3 проход. Первые 2 работают. И если удалить
[self getDeclarantKind]; то тоже форма отрисовывается и работает нормально.