2010-06-01 10 views
45

Mi chiedevo se potevo creare un oggetto di qualche classe se ho il nome della classe in una NSString. So che questo è possibile in altri linguaggi come ActionScript, C# e PHP ...Crea oggetto da NSString del nome classe in Objective-C

Qualcosa di simile a questo:

NSString *className = @"AwesomeViewController"; 
UIViewController *object = [[className alloc] initWithNibName:className bundle:nil]; 

risposta

104

Le classi sono oggetti di prima classe in Objective-C troppo. È possibile ottenere l'oggetto classe da una NSString con NSClassFromString function.

[[NSClassFromString(className) alloc] init...] 
+0

lavoro come un fascino :) –

+28

e viceversa è: NSLog (@ "% @", NSStringFromClass ([classe obj])); – neoneye

+0

È una risposta debole? – zszen

Problemi correlati