如何在Objective C中使用静态变量(BOOL)

Xav*_*ero 6 iphone static boolean objective-c extern

我来自C#背景,我很难弄清楚如何在Objective C中使用静态变量(在我的例子中是BOOL).我的问题是:

  1. 我应该在哪里声明我的静态变量.
  2. 如何从另一个类访问(设置其值).
  3. 我是否需要使用extern关键字.

Par*_*fna 8

在实现文件中声明静态变量,并提供类方法来设置/获取它的vlaue.

// MyClass.h
@interface MyClass : NSObject {
}
+ (BOOL)gBoolean;
+ (void)setGBoolean:(BOOL)value;
@end

// MyClass.m
#import "MyClass.h"

static BOOL gBoolean;

@implementation MyClass

+ (BOOL)gBoolean; {
    return gBoolean;
}

+ (void)setGBoolean:(BOOL)value; {
gBoolean = value;
}
@end
Run Code Online (Sandbox Code Playgroud)

看看这个答案.