Thanks!  Now I have:

NSString *class = [NSString stringWithCString:[data bytes] encoding:NSASCIIStringEncoding];
                Class obstacle = NSClassFromString(class);
id thisObstacle = [[obstacle alloc] initWithImage:[sender draggedImage] andLocation:[sender draggingLocation]];
                [m_obstacles addObject:thisObstacle];

And I now have an instance of the class stored in an array. I don't think I have to retain thisObstacle as m_obstacles take ownership.

However, must I retain [sender draggedImage] so the code becomes:

NSString *class = [NSString stringWithCString:[data bytes] encoding:NSASCIIStringEncoding];
                Class obstacle = NSClassFromString(class);
id thisObstacle = [[obstacle alloc] initWithImage:[[sender draggedImage] retain] andLocation:[sender draggingLocation]];
                [m_obstacles addObject:thisObstacle];




On Sep 21, 2010, at 10:08 PM, Stephen J. Butler wrote:

On Tue, Sep 21, 2010 at 11:01 PM,  <k...@highrolls.net> wrote:
Given an NSString which is the name of a class what voodoo do I perform to
create an instance of that class?

Use NSClassFromString().


_______________________________________________

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

Reply via email to