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

Reply via email to