Re: Accessing private members of another object of the same class
Re: Accessing private members of another object of the same class
- Subject: Re: Accessing private members of another object of the same class
- From: glenn andreas <email@hidden>
- Date: Mon, 26 Jan 2009 09:24:58 -0600
On Jan 26, 2009, at 8:14 AM, Jean-Daniel Dupas wrote:
There's no real way to enforce privateness, either in Objective-C
or C++.
Why not in C++?
And why not in Obj-C ? The new runtime (64 bits, non-fragile)
declare a symbol for each ivar. Private ivars are not exported by
default, so you cannot access them without running into a linker
error.
But you can use valueForKey:.
That said, if you know the layout of a specific object (either in C+
+ and Obj-C) you can cast it into a blob and access the memory
directly. That's maybe why he said you cannot enforce privateness.
The layout for 64 bit new runtime objects is not defined (and due to
the non-fragile part, isn't even fixed at compile or link time, so
you'd have to munge your way through undocumented data structures -
better off just using KVC).
Glenn Andreas email@hidden
<http://www.gandreas.com/> wicked fun!
quadrium | prime : build, mutate, evolve, animate : the next
generation of fractal art
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden