The output is the same, but there is also: #import <objc/runtime.h> objc_getClass([myString UTF8String]);
I am going to guess that NSClassFromString(myString) is probably using objc_getClass(), maybe not. I didn't know NSClassFromString existed though, so I am switching to that instead of using the runtime.h function. On Tue, Jan 13, 2009 at 8:45 PM, Mohan Parthasarathy <surut...@gmail.com> wrote: > On Tue, Jan 13, 2009 at 8:06 PM, Ken Thomases <k...@codeweavers.com> wrote: > >> On Jan 13, 2009, at 3:33 PM, Jean-Daniel Dupas wrote: >> >> he is just talking about class name, not class. >>> >>> NSClassFromString() is probably what you're looking for. >>> >>> NSMutableString *clsName = derive class name from the entry. >>> >>> Class cls = NSClassFromString(clsName); >>> >>> id<YouProtocol> instance = [[cls alloc] init]; >>> >> >> I'll just add the following: >> >> If you don't need such complete flexibility -- for example, if you're >> selecting from a fixed set of classes by some tag -- then you don't need to >> compute a class name and look up the class that way. >> >> Classes are objects and so they can be stored in collections. For example, >> you could have a lookup dictionary that mapped from keys to class objects. >> You would construct the dictionary like this: >> >> [NSDictionary dictionaryWithObjectsAndKeys: >> [SomeClass class], "key1", >> [OtherClass class], "key2", >> [ThirdClass class], "key3", >> // ... etc. >> nil]; >> >> This adds a small amount of safety in the same way that >> statically-specified stuff generally does. For example, the compiler will >> catch typos in class names. >> > > Thanks for this suggestion. This looks fairly clean except that the space is > allocated at the beginning. This may not be a big deal in some cases. In the > other way, you allocate space and insert in the dictionary only when needed. > Also, eventually i need the real object instances inserted in the > dictionary. > > -mohan > > > -mohan > > >> >> Cheers, >> Ken >> >> > _______________________________________________ > > 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/aventurella%40gmail.com > > This email sent to aventure...@gmail.com > _______________________________________________ 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 arch...@mail-archive.com