Digamos que tengo una clase declara como:En Objective-C, ¿cómo sabe + alloc cuánta memoria asignar?
@class SomeClass
@interface SomeClass: NSObject {
NSString *myString;
NSString *yourString;
}
@end
Y después, en algún otro código digo:
SomeClass *myClass = [[SomeClass alloc] init];
¿Cómo sabe SomeClass la cantidad de memoria para asignar dado que no lo hizo anular + alloc? Presumiblemente necesita almacenamiento para los ivars myString y yourString, pero está usando + alloc heredado de NSObject. ¿Hay material de referencia que cubra estos detalles?
¿Qué son los grupos de clases? ¿Es este un término de Objective-C con el que debería estar más familiarizado? –
NSString es un clúster de clase, por ejemplo. Cuando crea un NSString, en realidad obtiene una instancia de cualquier subclase optimizada para manejar ese tipo particular de cadena. – bbum