So che la sua troppo in ritardo per questa domanda, tuttavia vorrei aggiungere la mia soluzione.
Sto usando UIGraphicsBeginPDFContextToFile
per generare un file PDF. Ho creato una classe chiamata PDFCreator
dalla classe base UIViewController
, nel senso che ho due funzioni come questo:
- (void) beginContextWithFile:(NSString *)filename
{
pageSize = CGSizeMake(1024, 1424);
UIGraphicsBeginPDFContextToFile(filename, CGRectZero, nil);
UIGraphicsBeginPDFPageWithInfo(CGRectMake(0, 0, pageSize.width, pageSize.height), nil);
[self createInitialPart];
}
- (void) endContext
{
UIGraphicsEndPDFContext();
}
ho creato un oggetto di questa classe nel file app delegato, come manterrà l'oggetto finché l'app non termina (come era il mio requisito).
Inizialmente, chiamo beginContextWithFile:
e creerò un file pdf nella directory del documento insieme ai dati che sto aggiungendo tramite una chiamata al metodo createInitialPart
.
A un certo punto più tardi ho bisogno di aggiornare quel file, quindi ho un altro metodo chiamato secondPart
anche se l'ho chiamato per altri dati da aggiungere a quel file.
Una volta che ho completato la creazione, devo chiamare il endContext
della classe PDFCreator
, che completerà la generazione di PDF e sì, avrò il file aggiornato.
Questo è po 'difficile e non ho eseguire alcun controllo di memoria se ho avuto l'esigenza, ho trovato la soluzione :)
Ho aggiornato la mia risposta – Geoffroy