Ich würde gerne wissen, wie man ein Objekt der angegebenen Class
in Ziel c erstellt. Gibt es eine Methode, die mir in den Laufzeitdokumenten fehlt? Wenn ja, was ist es? Ich würde gerne in der Lage sein, Folgendes zu tun:
Bitte beachten Sie, dass Name kein Name der Klasse ist, sondern eine Abkürzung dafür, und ich kann nicht tun, was in Erzeuge Objekt aus NSString des Klassennamens in Objective-C .
Wie der Cobbal erwähnt hat, ist [[cls alloc] init]
üblich. Die alloc
ist eine statische Klassenmethode, die in NSObject definiert ist, die den Speicher zuweist, und init ist der Instanzkonstruktor. Viele Klassen bieten Convenience-Konstruktoren, die dies in einem Schritt für Sie erledigen. Ein Beispiel ist:
Beachten Sie die *
nach NSString
. Du arbeitest im Wesentlichen mit C hier also Zeigern auf Objekte!
Vergessen Sie auch nicht, den mit alloc
zugewiesenen Speicher mit einem entsprechenden [instance release]
freizugeben. Sie müssen den mit einem Convenience-Konstruktor erstellten Speicher nicht freigeben, da dieser für Sie automatisch freigegeben wurde. Wenn Sie Ihre neue cls-Instanz zurückgeben, sollten Sie sie zum Autorelease-Pool hinzufügen, damit kein Speicher verloren geht:
Hoffe, das hilft.
Tags und Links class objective-c initialization