开发者

NSClassFromString Idea

I'm currently trying to create objects from the NSClassFromString(NSString *) method.

What I want to be able to achieve is the following...

NSClassFromString(stringType) *pageController = nil;

Instead of the following...

UIViewController *pageController = nil;

So in other words, instead of using a UIViewController, I want to use the correct class. I want to be able to achieve the 开发者_如何学Pythonabove without having to type the exact class. I would normally write it like the following, but due to expansion of the application, it needs to change.

MPLandscapeImage *pageController = nil;

Is this possible and if so, how can I complete what is needed?


Yes. Do this.

Class cls = NSClassFromString(stringType);
// You have to use id here
id pageController = nil;
// And later
pageController = [[cls alloc] init];


You can't really do that. you can use the id type for this.

However, I would ask what you are trying to accomplish because circumventing the type system is often a Bad Idea(tm).


You are attempting to use generics/templates in Objective C. Ain't gonna work. Use the id type instead, its much more applicable to what you are trying to do.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜