Из того, что я прочитал от вас вопрос, я думаю, что вы пытаетесь отменить, не так ли?CGContextSaveGState
и CGContextRestoreGState
не имеют к этому никакого отношения.
Эти два метода хранят только метаданные контекста в контексте.Метаданные, такие как текущий цвет чертежа, преобразование системы координат, толщина линии и т. Д. Это состояние, которое вы сохраняете с помощью этих методов, позволяет отменять настройки контекста, а не его содержимого.Вы должны выполнить отмену другим способом ...
Тем не менее, вы также ссылаетесь на контекст после того, как он был разрушен в течение длительного времени.Как только вы вызовете UIGraphicsEndImageContext();
, контекст, который вы ранее сохранили в переменной context
, исчезнет.И именно по этой причине печатается ошибка.
Чтобы отменить операцию, вам, вероятно, придется сохранить созданное вами изображение, действия пользователя или что-то еще.CGContexts вам там не поможет ...