From: Adam R. M. <ama...@ma...> - 2009-09-05 19:32:28
|
On Sep 5, 2009, at 12:26 PM, Christiaan Hofman wrote: >> No, this works fine in 64 bit (I use it in FileView); the important >> part is @public in the declaration of PublicClassIvars, which >> obviates the need for @defs since you already have access to _ivars >> from PublicClass. For true opaque objects, you'd use @dynamic, but >> then I think you have to use @property accessors...which would >> eliminate the private ivar object also. >> > > But PDFKit does not use @public, and the docs say not to use @defs. How do you know it doesn't use @public, though, since you don't have the declaration of the ivar class? You can't know that from class- dump, as far as I can tell; it would show up in PublicClassIvars here: /* * File: a.out * Arch: Intel x86-64 (x86_64) * * Objective-C Garbage Collection: Unsupported */ @interface PublicClass : NSObject { PublicClassIvars *_ivars; } - (id)init; - (id)description; @end @interface PublicClassIvars : NSObject { id _representedObject; long long _type; } @end |