¿Cuál es la diferencia entre:asignación NSString e inicializar
NSString *string1 = @"This is string 1.";
y
NSString *string2 = [[NSString alloc]initWithString:@"This is string 2.];
¿Por qué no la asignación y la inicialización de la primera cadena, sin embargo, todavía funciona? Pensé que se suponía que debía asignar NSString ya que es un objeto.
En Cocoa Touch,
-(IBAction) clicked: (id)sender{
NSString *titleOfButton = [sender titleForState:UIControlStateNormal];
NSString *newLabelText = [[NSString alloc]initWithFormat:@"%@", titleOfButton];
labelsText.text=newLabelText;
[newLabelText release];
}
¿Por qué no asigna e inicializar la cadena titleOfButton? ¿El método que llamo lo hace por mí?
Además, estoy usando XCode 4, pero no me gusta iOS 5, y tal, entonces no uso ARC si eso importa. Por favor, no digan que debería, solo estoy aquí para descubrir por qué esto es así. ¡Gracias!
posible duplicado de [¿Los objetos NSString deben ser alloc e init?] (Http://stackoverflow.com/questions/637022/do-nsstring-objects-need-to-be-alloc-and-init) – Caleb