2012-05-24 9 views
5

Powiel możliwe:
Purpose of @ Symbol Before Strings?Dlaczego "@" użyte przed ciągami w Objective-C?

Byłem ciekaw, co oznacza @ przed każdym ciągiem obiektywne C. Czy łatwiej na kompilatora lub bardziej skuteczny w jakiś sposób?

Przykład:

NSString* flavour = @"Chocolate" 
+1

Duplikat - http://stackoverflow.com/q/25749/542425 – 0x8badf00d

+0

"Znak @ jest często używany w Objective-C w celu oznaczenia rozszerzenia na język." src- http://www.otierney.net/objective-c.html –

Odpowiedz

0

Rozróżniać pomiędzy C strun i Objective-C classe myślę

3

@ postać nie jest stosowany w C lub C++ identyfikatorów, więc jest on wykorzystywany do wprowadzenia Objective-C słowa kluczowe w języku, które nie będą sprzeczne ze słowami kluczowymi innych języków. Dzięki temu część "Objective" języka może swobodnie mieszać się z częścią C lub C++.

+0

Możesz zobaczyć jego inne zastosowania w takich rzeczach jak '@ interface',' @ implementation', '@ property',' @ synthesize', etc. – Jasarien

1

Ponieważ Objective-C jest nadzbiorem zwykłego C, musi istnieć sposób na odróżnienie prostych łańcuchów C (które są w zasadzie po prostu wskaźnikami char*).

8

@"Chocolate" to skrót do utworzenia instancji NSString. Można również użyć:

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

Jeśli nie korzystać z @ byś utworzyć ciąg C (char array).

Powiązane problemy