2012-05-24 9 views
5

Mögliche Duplizieren:
Purpose of @ Symbol Before Strings?Warum wird das '@' vor den Strings in Objective-C verwendet?

Ich habe neugierig gewesen, was @ bedeutet vor jeder Saite ist Ziel C. Ist es einfacher, auf dem Compiler oder effizienter in irgendeiner Weise?

Beispiel:

NSString* flavour = @"Chocolate" 
+1

Duplizieren - http://Stackoverflow.com/q/25749/542425 – 0x8badf00d

+0

"Das @ -Zeichen wird oft in Objective-C verwendet, um Erweiterungen der Sprache zu bezeichnen." src- http://www.otierney.net/objective-c.html –

Antwort

0

Differenzieren zwischen c-Strings und der Ziel-c classe Ich denke

3

Das @ Zeichen verwendet wird, nicht in C oder C++ Bezeichner, so dass es verwendet werden Objective-C einführen Keywords in einer Sprache, die nicht mit den Keywords der anderen Sprachen in Konflikt steht. Dies ermöglicht dem "objektiven" Teil der Sprache, sich frei mit dem C- oder C++ - Teil zu vermischen.

+0

Sie können seine anderen Verwendungen in Sachen wie '@ interface',' @ implementation', '@ property',' @ synthesize' usw. sehen. – Jasarien

1

Da Objective-C eine Obermenge von Plain C ist, muss es eine Möglichkeit geben, NSString Literale Plain C-Strings (die im Grunde nur char* Zeiger sind) zu unterscheiden.

8

@"Chocolate" ist nur eine Verknüpfung zum Erstellen einer NSString Instanz. Sie können auch verwenden:

[[NSString alloc] initWithUTF8String:"Chocolate"]; 

Wenn Sie nicht das @ verwenden haben Sie einen C-String (char Array) schaffen würde.

Verwandte Themen