Quoting Richard Frith-Macdonald <[EMAIL PROTECTED]>:
> On 2005-10-06 15:49:15 +0000 Andreas Höschler <[EMAIL PROTECTED]> wrote:
>
> > Hi all,
> >
> > I need something like [something isKindOfClass:...] with something being
> not
> > an instance but a class created with NSClassFromString(). A probably
> working
> > but very ugly hack would be to create an instance of this class with
> > [[something alloc] init] and releasing the object after the check. But I am
> > sure there is a better approach. Any idea?
>
> BOOL isDerivedFrom(Class this, Class base)
> {
> if (this == base) return YES;
> this = [this super];
> if (this == 0) return NO;
> return isDerivedFrom(this, base);
> }
I like avoiding recursion :-) so:
BOOL IsDerivedFrom(Class this, Class base)
{
Class myClass;
for (myClass = this; myClass != Nil; myClass = [myClass superclass])
{
if (myClass == base)
return YES;
}
return NO;
}
though the actual speed benefit is near zero :-P
--
Saso
_______________________________________________
Discuss-gnustep mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/discuss-gnustep