繁体   English   中英

如何使3 bool全局变量?

[英]How to make 3 bool global variable?

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

首先,我一遍又一遍地阅读了“全局变量”主题。不幸的是,我无法成功完成它们。

我需要使3布尔全局变量,如btn1Pressed,btn2Pressed,btn3Pressed。 以及如何使“ coins”一词成为int类型的全局变量? 怎么做?

@interface MainView : 

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

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

如果您将“全局变量”表示为“可在应用程序中的任何位置访问”,则可以使用单例:

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

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

要声明全局变量,您需要在任何类定义之外声明它们。 如果我有很多全局变量,我通常将它们放在自己的源文件中,并将其命名为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;
...

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

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

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

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

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

如果要更改值

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM