NSString Zuweisung und Initialisierung

Was ist der Unterschied zwischen:

NSString *string1 = @"This is string 1.";

und

NSString *string2 = [[NSString alloc]initWithString:@"This is string 2.];

Warum bin ich nicht reservieren und initialisieren Sie die erste Zeichenfolge, aber es funktioniert immer noch? Ich dachte, ich sollte reservieren, NSString, da es ein Objekt ist?

In Cocoa Touch,

-(IBAction) clicked: (id)sender{
   NSString *titleOfButton = [sender titleForState:UIControlStateNormal];
   NSString *newLabelText = [[NSString alloc]initWithFormat:@"%@", titleOfButton];
   labelsText.text=newLabelText;
   [newLabelText release];
}

Warum ich nicht reservieren und initialisieren Sie für den titleOfButton string? Nicht die Methode, ich nenne das für mich tun?

Auch, ich bin mit XCode 4, aber ich mag iOS 5, und solche, so dass ich nicht verwenden, ARC, falls jene Gegenstände. Bitte nicht sagen ich sollte, ich bin nur hier, um herauszufinden, warum dies so ist. Danke!

InformationsquelleAutor Jon Wei | 2012-02-13
Schreibe einen Kommentar