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

Reply via email to