How do I get class from NSString?

2019-04-29 11:53发布

问题:

for example, I have

NSString *myClass = @"RootViewController"

How do I get class from NSString?

回答1:

Try this

 id obj= [[NSClassFromString(@"RootViewController") alloc] init];


回答2:

You can use

Class class = NSClassFromString(@"RootViewController");

NSClassFromString

Obtains a class by name.

Class NSClassFromString ( NSString *aClassName );

Parameters

aClassName

The name of a class.

Return Value

The class object named by aClassName, or nil if no class by that name is currently loaded. If aClassName is nil, returns nil. Availability

Available in iOS 2.0 and later.

There is a lot of methods like this in foundation framework

NSGetSizeAndAlignment
NSClassFromString
NSStringFromClass
NSSelectorFromString
NSStringFromSelector
NSStringFromProtocol
NSProtocolFromString

Refer Foundation Functions Reference



回答3:

Class class = NSClassFromString(@"RootViewController");