Сохранение и восстановление CGContext

Я пытаюсь сохранить и восстановить CGContext, чтобы избежать повторного выполнения сложных чертежей, и я получаю сообщение об ошибке<Error>: CGGStackRestore: gstack underflow.

Что я делаю неправильно? Как правильно это сделать?

- (void)drawRect:(CGRect)rect {
    CGContextRef context = UIGraphicsGetCurrentContext();

    if (initialized) {
        CGContextRestoreGState(context);
        //scale context
        return;
    }

    initialized = YES;

    //heavy drawing computation and drawing

    CGContextSaveGState(context);
}

Ответы на вопрос(3)

Ваш ответ на вопрос