Re: Constructing class names dynamically
Re: Constructing class names dynamically
- Subject: Re: Constructing class names dynamically
- From: "Mohan Parthasarathy" <email@hidden>
- Date: Thu, 15 Jan 2009 09:17:53 -0800
Both of the methods return nil and as per the document it says "Class is not
loaded". Is there a compile time option to load the classes or only way to
do it as at runtime..
thanks
mohan
On Wed, Jan 14, 2009 at 6:46 AM, Adam Venturella <email@hidden>wrote:
> 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 <email@hidden>
> wrote:
> > On Tue, Jan 13, 2009 at 8:06 PM, Ken Thomases <email@hidden>
> 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 (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
> >
>
_______________________________________________
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