您的位置:首页 > 其它

宣布 iPhone 项目中的全局变量

2010-10-26 23:01 204 查看
有几个不同的方式,您可以执行此操作:

,而不是将它声明为全局变量,将其包装在一个单独的对象,然后,单身人士有可用的任何位置 (通过导入.h 文件 #)

创建像"Globals.h"的.h 文件。 在该的.h 声明您数组作为
static extern NSMutableArray * myGlobalArray;
,然后在别处在您的应用程序 (在 AppDelegate 是个好地方),就是要做:
myGlobalArray = [[NSMutableArray alloc] init];
,那么您只需要在的阵列的任何地方
#import "Globals.h"


这是如 # 2,但没有全球的标头。 在您的项目.pch 文件的
#ifdef __OBJC__
块内,您可以定义为
static extern NSMutableArray *myGlobalArray;
的数组。 .pch 文件是自动是 # 导入到您的项目中的每个文件的头文件。

有每种方法的利与弊。 我用所有这三种在不同时间在不同的情况。 我会说单身人士的做法是可能最恰当,因为它将是最灵活的初始化、 访问限制和内存管理。 但是,它可以是不必要如果您不需要的。

好的如果你有很多你不想公开到每个文件在您的项目之间的"全局"变量选项 # 2。您可以只是 # import 它在其所需。但是,这种方法 (以及 # 3) 不从初始化声明 (ie,不创建对象的声明的位置附近)。有人可能会说这不是正确的它们可能正确。

选项 # 3 是好因为那么你永远不会有请记住 # import 任何在所有。但是,它会引发作为选项 # 2 同样的问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: