如何制作3个bool全局变量?

时间:2014-03-25 14:09:13

标签: ios iphone objective-c

我正在创建一个文字游戏,我需要为用户分配硬币:

首先,我一遍又一遍地阅读主题"全局变量"不幸的是,我无法成功地做到这一点。

我需要制作3个bool全局变量,如btn1Pressed,btn2Pressed,btn3Pressed。 &安培;如何制作单词"硬币" int类型的全局? 这是怎么做到的?

@interface MainView : 

4 个答案:

答案 0 :(得分:0)

使用关键字“extern”可以使变量成为全局变量。

extern int coins = 9001; //over nine thousand!

答案 1 :(得分:0)

如果您的意思是“全局”,就像“应用程序中随处可访问”一样,您可以使用单身人士:

http://www.galloway.me.uk/tutorials/singleton-classes/

这样,您可以将所有此类全局变量分组到一个全局对象中。

答案 2 :(得分:0)

要声明全局变量,您需要在任何类定义之外声明它们。如果我有很多全局变量,我通常将它们放在自己的源文件中并将其称为globals.m以帮助保持组织有序。如果我只有一个或两个,我只需在App委托中声明它们(在#includes之后但在@implementation之前)。

int coins;
BOOL btn1Pressed;
BOOL btn2Pressed;
BOOL btn3Pressed;
// etc

然后在公共标题(我使用globals.h)中将它们声明为extern。在任何类定义之外声明它们:

extern int coins;
extern BOOL btn1Pressed;
extern BOOL btn2Pressed;
extern BOOL btn3Pressed;
...

告诉编译器“此变量在其他地方声明”,因此它知道在链接时解析它。在任何需要访问这些变量的源模块中包含该标头。

答案 3 :(得分:0)

使用Singleton模式是理想的方法。

在YourAppdelegate.h文件中为bools创建属性btn1Pressed,btn2Pressed,btn3Pressed。进一步在YourAppdelegate.m文件中合成它们。

现在,如果您想在任何其他类中访问或更改这些值

// Accessing btn1Value
   BOOL checkTheValueOFButton1 =   [(YourAppDelegate *)[UIApplication sharedApplication]btn1Pressed];

如果您想更改值

 [(YourAppDelegate *)[UIApplication sharedApplication]setbtn1Pressed:NO];