How can I retain CGPDFDictionaryRef?

474 Views Asked by At

Any ideas how to "retain" CGPDFDictionaryRef? CFRetain not working, but there must be way to "retain" it.

2

There are 2 best solutions below

1
On BEST ANSWER

From the documentation

This opaque type is not derived from CFType and therefore there are no functions for retaining and releasing it. CGPDFDictionary objects exist only as constituent parts of a CGPDFDocument object, and they are managed by their container.

0
On

A CGPDFDictionaryRef is just a pointer to a struct. Thus, you can easily retain it when boxed into a NSValue.

Of course the object parent container (CGPDFDocument and CGPDFPage) need to be kept in memory or the pointers within the struct will go invalid.