2012-09-06 138 views
0

我有MyClass後續落實文件的實例之間的價值:成員變量保持類

BOOL myBool; 

@implementation MyClass 

// ... 

- (void) someMethod { 
    myBool = YES; 
} 

@end 

好像myBoolYESsomeMethodMyClass每個實例被稱爲僅在MyClass的一個實例上。但是,如果我定義myBool這樣它具有的MyClass一個惟一的值:

@interface MyClass() 
@property (nonatomic) BOOL myBool; 
@end 

是什麼上述兩個「成員變量」語法之間的區別?

+0

的Objective-C沒有「成員變量」。它有「實例變量」。非常接近同一件事,但使用精確的詞彙可以更容易地討論這些事情。 – bbum

回答

4

區別在於,在第一種情況下,它不是成員變量,它是全局變量,因此它自然會在您班級的多個實例之間持續存在。

如果你想在聲明類實現文件伊娃,你可以做到以下幾點:

@implementation MyClass{ 
    BOOL myBool; 
} 
...