2012-05-24 23 views
5

可能重複:
Purpose of @ Symbol Before Strings?爲什麼在Objective-C的字符串之前使用'@'?

我一直好奇,什麼@每個字符串之前的意思是客觀C.它是不是在編譯器更容易,或以某種方式更有效?

實施例:

NSString* flavour = @"Chocolate" 
+1

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

+0

「@標記經常在Objective-C中用來表示擴展到該語言。」 src- http://www.otierney.net/objective-c.html –

回答

0
C字符串和之間

微分目標c CLASSE我認爲

3

@字符不是在C或C++的標識符所使用的,所以它用於引入目標C語言關鍵字的方式不會與其他語言的關鍵字衝突。這使得語言的「Objective」部分可以與C或C++部分自由混合。

+0

你可以在'@interface','@ implementation','@ property','@ synthesize'等東西中看到它的其他用途。 – Jasarien

1

由於Objective-C是純C的超集,必須有區分NSString文字平原C字符串(它們是基本上只是char*指針)的一種方式。

8

@"Chocolate"只是創建NSString實例的快捷方式。你也可以使用:

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

如果你沒有使用你將創建一個C字符串(char陣列)的@。

相關問題