2011-08-16 16 views
8

È possibile creare un riferimento di classe con il seguente codice:Objective-C: Creazione di grado dal Class Reference

Class M = [NSMutableString class]; // NSMutableString (for example). 

È quindi possibile chiamare i metodi su quella classe salvato con codice come questo:

[M string]; 

Ma puoi creare istanze, da quel nome di classe (so che il seguente non funziona)?

M *newInstance; 

risposta

14

È possibile assegnare una nuova istanza della classe come questo

id instance = [[M alloc] init]; 

+alloc è un metodo della classe, proprio come string è nel tuo esempio in modo che le regole sono le stesse.

+0

Questo crea un oggetto 'id' generico .. Come si può istanziare un'istanza" fully qualified ", punto-indirizzabile della classe. Questa è la domanda .. –

+0

Per prima cosa, questa non era la domanda, la domanda era: puoi creare istanze della classe che risponde. Una volta che inizi a utilizzare il reflection, non puoi fare ciò che stai chiedendo a meno che non lo lanci al suo tipo completo. – Joe