我在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/