Проведите жестом к следующему виду сбоя контроллера

У меня есть два контроллера представления. Я создал пользовательский переход от первого viewcontroller ко второму и наоборот, и связал оба перехода со следующим классом: (я скачал класс из интернет-учебника)

#import "SlideLeftCustomSegue.h"

@implementation SlideLeftCustomSegue

- (void)perform{
    UIViewController *srcViewController = (UIViewController *) self.sourceViewController;
    UIViewController *destViewController = (UIViewController *) self.destinationViewController;

    CATransition *transition = [CATransition animation];
    transition.duration = 0.3;
    transition.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
    transition.type = kCATransitionPush;
    transition.subtype = kCATransitionFromRight;
    [srcViewController.view.window.layer addAnimation:transition forKey:nil];

    [srcViewController presentViewController:destViewController animated:NO completion:nil];
}

@end

(Я только что изменил переход с "Right" на "Left" в зависимости от того, какой я viewcontroller) Я вызываю переход от жеста смахивания.

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

pru(745,0x1ae6d5c40) malloc: *** error for object 0x170014930:      Invalid pointer dequeued from free list
*** set a breakpoint in malloc_error_break to debug
(lldb) 

Как я могу это исправить?

1 ответ

Создайте UIviewController obj, как это

SomeViewController *someViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"SomeViewController"];

Другие вопросы по тегам