La sauvegarde et la restauration CGContext

Je suis en train de sauvegarder et de restaurer une CGContext pour éviter de faire de lourds dessin calculs pour une deuxième fois et j'obtiens le message d'erreur <Error>: CGGStackRestore: gstack underflow.

Ce que je fais mal? Quelle est la bonne façon de le faire?

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

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

    initialized = YES;

    //heavy drawing computation and drawing

    CGContextSaveGState(context);
}

OriginalL'auteur cocoatoucher | 2009-09-18