znam jej zbyt spóźniony na to pytanie, jednak chciałbym dodać moje rozwiązanie.
Używam UIGraphicsBeginPDFContextToFile
do generowania pliku PDF. I utworzeniu klasy o nazwie PDFCreator
z klasy bazowej UIViewController
, że mam dwie funkcje tak:
- (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();
}
mojego autorstwa obiekt tej klasy w pliku app delegata, ponieważ będzie ona zachować obiekt do momentu zakończenia aplikacji (tak jak moje wymaganie).
Na początku dzwonię pod numer beginContextWithFile:
i utworzę plik pdf w katalogu dokumentów wraz z danymi, które dodaję, poprzez wywołanie metody createInitialPart
.
W pewnym momencie muszę zaktualizować ten plik, więc mam inną metodę o nazwie secondPart
, mimo że nazwałem ją dla więcej danych do dołączenia do tego pliku.
Po wypełnieniu Stworzyłem, muszę zadzwonić pod numer endContext
z klasy PDFCreator
, który zakończy generowanie pdf i tak, będę mieć zaktualizowany plik.
Jest to trochę skomplikowane i nie wykonywać żadnych kontroli pamięci chociaż miałem wymóg, znalazłem rozwiązanie :)
zaktualizowałem moją odpowiedź – Geoffroy