Re: Comparing the Class
Re: Comparing the Class
- Subject: Re: Comparing the Class
- From: "Melissa J. Turner" <email@hidden>
- Date: Wed, 15 Oct 2008 15:17:12 -0700
On Oct 15, 2008, at 06:20, Ruotger Skupin wrote:
Hi,
when comparing the class of two objects I usually do [obj1
isKindOfClass:[obj2 class]]. But if I say have the Class as an input
value to a method:
- (void) bla:(Class) inClass
{
if (/* inClass is an NSString */)
{
// do stuff
}
else if (/* inClass is an NSNumber */)
{
// do other stuff
}
}
Is it save to compare like this:
inClass == [NSString class]
or do I have to e.g.:
[[NSNumber numberWithInt:0] isKindOfClass:inClass]
It's generally unwise to do this kind of thing if you're dealing with
class clusters or bridged classes (which category includes both
NSString and NSNumber). The class you actually get may not be what
you're expecting.
If you're doing it with your own classes, it's safer, but can be
fragile, since it's one more thing you're going to need to remember to
change if you change your inheritance hierarchy.
+Melissa
_______________________________________________
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