@符号对Objective-C意味着什么?

时间:2011-02-10 02:51:20

标签: objective-c syntax

我知道@(符号)的以下用法:

@“myString” - 用于表示objective-c NSString,而不是标准C字符串

@keyword - 用于识别一些客观的c关键字,例如@implementation,@ syntize,@class和@interface

@KEYNAME在下面的上下文中是什么意思?

[SFHFKeychainUtils storeUsername:@KEYNAME andPassword:[NSString stringWithUTF8String:b64data] forServiceName:@"default" updateExisting:YES error:&ter_ror];

@还有其他可能的含义吗?

1 个答案:

答案 0 :(得分:7)

在您的代码段的上下文中,它完全没有任何意义。这将因语法错误而失败。

在Obj-C关键字和常量字符串中使用@的原因是因为@不是用作C中令牌的一部分的有效字符,而Obj-C是C的严格超集。这意味着所有有效的C代码是有效的Obj-C代码,因此Obj-C不能接受任何可能出现在有效C中的关键字。由于@在令牌中无效,这意味着Obj-C可以简单地用它来启动它的所有关键字都不用担心碰撞。

至于其他可能的含义,您省略了一些关键字,例如@protocol@dynamic@private@protected@public,{ {1}}和@selector