Casting doesn't change what an object is, if your objects are As then they are As and all your cast is doing is lying about it so the compiler allows you to call a method without complaining, but the call will fail. If you want Bs you need to create Bs.
> On 24 Sep, 2013, at 11:38 pm, Koen van der Drift <koenvanderdr...@gmail.com> > wrote: > > In my app I am using a 3rd party framework, and I have subclassed (objB) one > of the classes (objA) for additional functionality. > > At one point I am getting an NSCountedSet from the framework with objects > objA. When I enumerate these, I'd like to cast them as objB, to access the > additional functionality (doSomethingNew). But whatever I try, the objects > are always casted as objA. > > NSCountedSet *cs = [framework countSymbols]; > > for (objB *obj in cs) > { > NSDictionary *ec = [objB doSomethingNew]; <<== throws error, > because objA doesn't know about doSomethingNew > > // etc > } > > > or: > > NSCountedSet *cs = [framework countSymbols]; > > for (id *obj in cs) > { > NSDictionary *ec = [((ObjB*) obj) doSomethingNew]; <<== throws > error, because objA doesn't know about doSomethingNew > > // etc > } > > > Is it possible what I am trying to do? > > - Koen. > _______________________________________________ > > 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: > https://lists.apple.com/mailman/options/cocoa-dev/rols%40rols.org > > This email sent to r...@rols.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: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com