2011-11-27 196 views
1

我正在閱讀一本關於Objective-C的書,專門討論全局變量。Objective-C和全局變量

作者使用了下面的例子:

對於類Employee

.h文件中聲明:

extern NSString const *greeting; 

.m文件中聲明

NSString const *greeting = @"Hello"; 

作者但是沒有提及需要

@property (strong, readonly) NSString const *greeting; 

@synthesize greeting;

我失去了一些東西,有一種方法,以避免它,或者是對作者的部分錯字?

回答

2

@property是例如變量;全局變量不是特定於某個類的實例。即便如此,即使對於實例變量,也不需要使用@property。

+0

這就是我認爲的,但是,由於某種原因,變量在班級以外是不可見的。在我'Eployee * e = [新員工]之後''[e greeting]'不可見 –

+0

@詹姆斯:不要致電'[問候]'。 Employee類不包含該屬性。要訪問'greeting'全局變量,只需要像'NSLog(@「%@」,greeting)那樣請求它;' – tidwall

+0

謝謝你們!確實很好的解釋 –

0

全局變量不需要在一個類中完成。因此,你不需要財產。

+0

如何從Employee類外部使用此全局變量? –

+0

包含頭文件。 –