2012-09-06 100 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; 
} 
...