可能重複:
Purpose of @ Symbol Before Strings?爲什麼在Objective-C的字符串之前使用'@'?
我一直好奇,什麼@
每個字符串之前的意思是客觀C.它是不是在編譯器更容易,或以某種方式更有效?
實施例:
NSString* flavour = @"Chocolate"
可能重複:
Purpose of @ Symbol Before Strings?爲什麼在Objective-C的字符串之前使用'@'?
我一直好奇,什麼@
每個字符串之前的意思是客觀C.它是不是在編譯器更容易,或以某種方式更有效?
實施例:
NSString* flavour = @"Chocolate"
微分目標c CLASSE我認爲
的@
字符不是在C或C++的標識符所使用的,所以它用於引入目標C語言關鍵字的方式不會與其他語言的關鍵字衝突。這使得語言的「Objective」部分可以與C或C++部分自由混合。
你可以在'@interface','@ implementation','@ property','@ synthesize'等東西中看到它的其他用途。 – Jasarien
由於Objective-C是純C的超集,必須有區分NSString
文字平原C字符串(它們是基本上只是char*
指針)的一種方式。
@"Chocolate"
只是創建NSString
實例的快捷方式。你也可以使用:
[[NSString alloc] initWithUTF8String:"Chocolate"];
如果你沒有使用你將創建一個C字符串(char
陣列)的@。
Duplicate - http://stackoverflow.com/q/25749/542425 – 0x8badf00d
「@標記經常在Objective-C中用來表示擴展到該語言。」 src- http://www.otierney.net/objective-c.html –