2011-02-10 16 views
5

我知道@(在符號)的以下用途:@符號對於Objective-C意味着什麼?

@「的myString」 - 用於指示一個目標c的NSString,而不是標準的C字符串

@Keyword - 用於標識一些客觀的c關鍵字,例如@implementation,@synthesize,@class和@interface

@KEYNAME在下文中的含義是什麼意思?

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

@有沒有其他可能的含義?

+0

代碼從哪裏來? – BoltClock 2011-02-10 03:06:50

+0

我唯一能想到的就是它是一個自定義宏。 – Wevah 2011-02-10 03:30:26

回答

7

它在你的代碼片段中沒有任何意義。這會因語法錯誤而失敗。

在Obj-C關鍵字和常量字符串中使用的原因是因爲@不是一個有效的字符在C中用作令牌的一部分,而Obj-C是C的嚴格超集。這意味着所有有效的C代碼都是有效的Obj-C代碼,所以Obj-C不能使用可能在有效C中顯示的任何關鍵字。由於@在令牌中無效,這意味着Obj-C可以簡單地將它用於啓動它的所有關鍵字,而不用擔心碰撞。

至於其他可能的含義,也有你省略了幾個關鍵字,如@protocol@dynamic@private@protected@public@selector@encode