如何在代码中随时随地创建可以读/写的int变量

时间:2014-05-04 20:47:11

标签: ios objective-c cocos2d-iphone encapsulation

我想在我的程序中声明一个int变量,以便我可以随时在程序的任何位置更改并获取它的值。

我不确定获取该值的语法,甚至不知道如何设置值,也不知道我应该在哪里声明它,当然,我不确定它是否应该在某个地方成为@property ......

用法是这样的,在我的Cocos2d游戏中,我可以将我的主菜单设置为在我的场景中加载的TMX Tile Map级别。像这样......

-(id) init {if((self=[super init]))
    {
        self.tileMap = [CCTMXTiledMap tiledMapWithTMXFile:
            [NSString stringWithFormat:@"level%i.tmx", levelToLoadUp ,nil]];
    } return self;
}

我很难找到封装教程的这个特定部分,但是我应该在这里问一下,因为我觉得这是一个相当简单的问题。 "如何制作程序范围变量"

由于

1 个答案:

答案 0 :(得分:0)

这称为全局变量。通常不建议这可能是你很难找到任何东西的原因。

选择要添加的位置(声明)。

//in any file outside of the main code (preferably right after the imports)
int gSomeGlobal = 5;

要在另一部分访问,只需将extern关键字放在前面。

 //Access from any file
 extern int gSomeGlobal;
 int myValue = gSomeGlobal;

 NSLog(@"%i",myValue);  // prints 5

如果您想以正确的方式执行此操作,请查看 SINGLETON 模式。实质上,您希望将所有变量本地化为一个文件,以使其更清晰易读。 http://www.galloway.me.uk/tutorials/singleton-classes/