Diciamo che ho una classe dichiarato come:In Objective-C, come fa + alloc sapere quanta memoria allocare?
@class SomeClass
@interface SomeClass: NSObject {
NSString *myString;
NSString *yourString;
}
@end
E più tardi, in qualche altro codice dico:
SomeClass *myClass = [[SomeClass alloc] init];
Come si fa SomeClass sapere quanta memoria allocare dato che non ha fatto override + alloc? Presumibilmente, ha bisogno di spazio per l'ivars myString e yourString, ma usa + alloc ereditato da NSObject. C'è materiale di riferimento che copre questi dettagli?
Cosa sono i cluster di classe? È questo un termine Objective-C con cui dovrei essere più familiare? –
NSString è un cluster di classe, ad esempio. Quando si crea un NSString, si ottiene effettivamente un'istanza di qualsiasi sottoclasse ottimizzata per gestire quel particolare tipo di stringa. – bbum