我正在创建一个文字游戏,我需要为用户分配硬币:
首先,我一遍又一遍地阅读主题"全局变量"不幸的是,我无法成功地做到这一点。
我需要制作3个bool全局变量,如btn1Pressed,btn2Pressed,btn3Pressed。 &安培;如何制作单词"硬币" int类型的全局? 这是怎么做到的?
@interface MainView :
答案 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];