我知道@(符号)的以下用法:
@“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];
@还有其他可能的含义吗?
答案 0 :(得分:7)
在您的代码段的上下文中,它完全没有任何意义。这将因语法错误而失败。
在Obj-C关键字和常量字符串中使用@的原因是因为@不是用作C中令牌的一部分的有效字符,而Obj-C是C的严格超集。这意味着所有有效的C代码是有效的Obj-C代码,因此Obj-C不能接受任何可能出现在有效C中的关键字。由于@在令牌中无效,这意味着Obj-C可以简单地用它来启动它的所有关键字都不用担心碰撞。
至于其他可能的含义,您省略了一些关键字,例如@protocol
,@dynamic
,@private
,@protected
,@public
,{ {1}}和@selector
。