可能重复:
@ 符号在字符串之前的用途?
在每个字符串都是客观 C 之前,我一直很好奇这@
意味着什么。编译器更容易,还是在某种程度上更有效?
例子:
NSString* flavour = @"Chocolate"
可能重复:
@ 符号在字符串之前的用途?
在每个字符串都是客观 C 之前,我一直很好奇这@
意味着什么。编译器更容易,还是在某种程度上更有效?
例子:
NSString* flavour = @"Chocolate"
@"Chocolate"
只是创建NSString
实例的快捷方式。您还可以使用:
[[NSString alloc] initWithUTF8String:"Chocolate"];
如果您不使用 @ 您将创建一个 C 字符串(char
数组)。
该@
字符不用于 C 或 C++ 标识符中,因此它用于以不会与其他语言的关键字冲突的方式引入 Objective-C 语言关键字。这使得语言的“目标”部分可以与 C 或 C++ 部分自由混合。
因为 Objective-C 是纯 C 的超集,所以必须有一种方法来区分NSString
纯 C 字符串(基本上只是char*
指针)的文字。
区分c字符串和我认为的objective-c类