2011-08-16 12 views
8

Se puede crear una referencia de clase con el siguiente código:Objective-C: Creación de Instancia de la clase de referencia

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

entonces usted puede llamar a métodos en esa clase guardado con código como este:

[M string]; 

¿Pero puede crear instancias, a partir de ese nombre de clase (sé que lo siguiente no funciona)?

M *newInstance; 

Respuesta

14

puede asignar una nueva instancia de la clase como esta

id instance = [[M alloc] init]; 

+alloc es un método de clase al igual que string es en su ejemplo por lo que las reglas son las mismas.

+0

Esto crea un objeto genérico 'id' ... ¿Cómo se puede crear una instancia de la clase "totalmente calificada", direccionable por puntos? Esa es la pregunta ... –

+0

Primero, esa no era la pregunta, la pregunta era ¿puedes crear instancias de la clase a la que responda? Una vez que empiezas a utilizar la reflexión, no puedes hacer lo que estás preguntando a menos que lances a su tipo completamente calificado. – Joe

Cuestiones relacionadas