CGContext speichern und wiederherstellen

Ich versuche, einen CGContext zu speichern und wiederherzustellen, um zu vermeiden, dass ein zweites Mal schwere Zeichenberechnungen ausgeführt werden, und erhalte den Fehler<Error>: CGGStackRestore: gstack underflow.

Was mache ich falsch? Was ist der richtige Weg, um dies zu tun?

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

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

    initialized = YES;

    //heavy drawing computation and drawing

    CGContextSaveGState(context);
}

Antworten auf die Frage(3)

Ihre Antwort auf die Frage