Objekt aus NSString des Klassennamens in Objective-C erstellen

Lesezeit: 1 Minute

Ich habe mich gefragt, ob ich ein Objekt einer Klasse erstellen könnte, wenn ich den Namen der Klasse in einem NSString habe. Ich weiß, dass dies in anderen Sprachen wie ActionScript, C # und PHP möglich ist …

Etwas wie das:

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

Benutzeravatar von kennytm
kennytm

Klassen sind auch in Objective-C erstklassige Objekte. Sie können das Klassenobjekt aus einem NSString mit dem abrufen NSClassFromString-Funktion.

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

  • und umgekehrt ist: NSLog(@”%@”, NSStringFromClass([obj class]));

    – Neonauge

    6. März 2011 um 12:29 Uhr

  • Ist es eine schwache Reaktion?

    – zzen

    21. Juli 2013 um 9:13 Uhr

  • Gibt es eine Möglichkeit, eine Variable auch mit NSString zu deklarieren? Ich meine, wenn ich im Post des ursprünglichen Posters nicht schreiben möchte UIViewController in UIViewController *object aber deklarieren Sie es basierend auf NSString. ist das möglich?

    – Hummel

    8. Oktober 2013 um 4:41 Uhr

  • Sie können einfach verwenden id @Huggie. Da der Compiler die Klasse nicht kennt, erhalten Sie dasselbe Ergebnis.

    – Flores Robles

    5. Dezember 2013 um 19:57 Uhr

1406110cookie-checkObjekt aus NSString des Klassennamens in Objective-C erstellen

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy