2012-05-24 22 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阵列)的@。

相关问题