Re: subclass overwriting superclass ivar
Re: subclass overwriting superclass ivar
- Subject: Re: subclass overwriting superclass ivar
- From: Uli Kusterer <email@hidden>
- Date: Wed, 26 May 2010 14:55:39 +0200
On May 26, 2010, at 1:40 PM, email@hidden wrote:
> 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.
Are you using this class across module boundaries? E.g. is the base class in a framework and the subclass in an application that links to the framework? In that case, you may be running afoul of the fragile base class problem.
Alternately, do you have a plugin scheme? ObjC has no namespaces, so if you have two classes of the same name in two plug-ins (or your app and a plug-in, or in two frameworks), the loader will use whichever one got loaded first (which is pretty much random), it will not give each module "its" class of that name. So, if one of these classes is an older version that has a shorter ivar list, subclasses will put their first ivar where they think the base class ends, which is after the shorter ivar list.
Could any of that be your problem?
PS - If you want more detail and pretty pictures, there's a screencast by me on that topic available at http://www.mac-developer-network.com/video/video101003.html for 10 bucks.
-- Uli Kusterer
"The Witnesses of TeachText are everywhere..."
_______________________________________________
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