我在appdelegate类中加载了一些变量。它们在我的.h文件中声明。
我有一个global.h文件,它声明了与extern相同的变量,例如:
应用委托.h

NSString *DBName;

全局.h
extern NSString *DBName;

我还没有找到模式,但是我包含的一些类global.h的var为零。
知道我做错了什么吗?
编辑:
看起来像是:
int x;

棒和可用,
但是作为指针的变量会丢失:
NSString *Name;

它们最初都是从appdelegate中的db加载的。
我也试着声明
char Name[30];

然后分配它,一切都很好。
现在怎么办?

最佳答案

在a.h中:

 extern NSString *global;

在A.M某处:
 NSString *global = @"foobar";

如果需要在运行时设置全局,则必须在某处的方法中进行设置;例如,applicationDidFinishLaunching:
在nsstring情况下,您在哪里分配给全局?当你这么做的时候,你还保留着价值吗?你说“迷路”是什么意思?
注意,变量不能在.h中声明;外部变量在.h中,NSString *global;必须在一个且仅在一个.m文件中。

关于iphone - objective-c IPhone中的全局变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6550157/

10-09 16:15
查看更多