On Wed, May 26, 2010 at 8:13 AM, vincent habchi <vi...@macports.org> wrote:
> Le 26 mai 2010 à 13:40, jonat...@mugginsoft.com a écrit :
>
>> A subclass ivar is apparently overwriting a super class ivar.
>> When an instance of MGS_B sets stderrData the super class ivar tempFilePath 
>> gets overwritten.
>
> If I am not mistaken, if your superclass ivar is private (!= protected), it 
> cannot be accessed from its subclasses. Thus, the compiler can choose to 
> reuse part of the heap dedicated to private variables to implement subclasses 
> own private ivars.
No way the compiler could do that. @private makes the superclass'
ivars invisible to subclasses, but they're still there. They have to
be, since the superclass' methods (which *can* see them) can be called
on the subclass as well.

There's nothing wrong with the ivar declarations - something must be
going wrong at run time. Typically, when an object pointer seems to
point to the wrong object, the prime suspect is memory management. But
it's hard to say for sure, without seeing the relevant code.

sherm--

-- 
Cocoa programming in Perl:
http://www.camelbones.org
_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to