Re: WTF is happening?
Re: WTF is happening?
- Subject: Re: WTF is happening?
- From: Jean-Daniel Dupas <email@hidden>
- Date: Mon, 15 Dec 2014 13:42:43 +0100
> Le 15 déc. 2014 à 13:31, Uli Kusterer <email@hidden> a écrit :
>
> On 15 Dec 2014, at 12:42, Jean-Daniel Dupas <email@hidden> wrote:
>> I found only 5 classes that does not responds to isProxy and they are all internal classes, so real code will never have to deal with instances of such classes.
>
> Maxthon is iterating over the classes in the system. Even internal classes to the OS show up in that list, so I really don't see how he would *not* have to be able to at least deal with their presence.
>
Fair enough, but I didn’t got any issue while dealing with theses classes. I managed to query if they responds to a selector, got there superclass and more.
> Apart from completely re-thinking his approach. E.g. NSImageRep, AFAIK, simply has each image representation subclass add itself to an NSArray from its +initialize method. I'd think that'd be less fragile than walking the entire class list.
I fully agree on that. Relying on class iteration is generally a design flaw. It is too fragile to be used in a reliable and futur proof way.
But I don’t think you can rely on +initialize to register subclasses as initialize will not be called until the someone try to use the target class (or one of it’s subclass).
You can use +load but should probably be careful when doing so as there is no guarantee about the class loading order AFAIK.
_______________________________________________
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