我很好奇@
在每个字符串是客观的C之前的意思C.编译器是否更容易,或者在某种程度上更有效?
示例:
NSString* flavour = @"Chocolate"
答案 0 :(得分:10)
@"Chocolate"
只是创建NSString
实例的快捷方式。你也可以使用:
[[NSString alloc] initWithUTF8String:"Chocolate"];
如果您没有使用@,则会创建一个C字符串(char
数组)。
答案 1 :(得分:4)
{C}或C ++标识符中未使用@
字符,因此它用于以不会与其他语言的关键字冲突的方式引入Objective-C语言关键字。这使得该语言的“目标”部分可以自由地与C或C ++部分混合。
答案 2 :(得分:2)
因为Objective-C是普通C的超集,所以必须有一种方法来区分NSString
文字普通C字符串(基本上只是char*
指针)。
答案 3 :(得分:0)
区分c字符串和objective-c classe我认为