On Aug 5, 2008, at 11:19 AM, Elan Feingold wrote:

I can load the principal class of a bundle with:

NSBundle* bundleToLoad = [NSBundle bundleWithPath:@"..."];
Class exampleClass = [bundleToLoad principalClass]);

Actually, this loads the bundle and then gets its principal class. Loading a bundle will load all of the classes in it, regardless of whether you're just asking for the principal class

However, I have a situation where I have a bundle that has a class *without* a principal class, but it has a class that is a subclass of a specific other class. Is there any way to iterate through classes offered by a bundle and pick out the ones that derive from a specific superclass?

As others have explained, a bundle always has a principal class; if one isn't specified, one of the classes defined within the bundle will be returned.

What you probably want to do is load the bundle and then look through the Objective-C runtime for classes whose superclass is one of those you care about. You can use objc_getClassList to iterate over the classes known to the runtime, and objc_getSuperclass to locate the superclass of a class. (There's no objc_getSubclassList.)

  -- Chris

_______________________________________________

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [EMAIL PROTECTED]

Reply via email to