我在我的 appdelegate 类中加载了一些变量。它们在我的 .h 文件中声明。
我有一个 global.h
文件,它声明了与 extern
相同的变量,例如:
appdelegate.h
NSString *DBName;
全局.h
extern NSString *DBName;
我还没有找到模式,但是我包含了一些类 global.h
但 var 是 nil。
知道我做错了什么吗?
编辑:
看起来 vars 是这样的:
int x;
贴上去, 但是作为指针的变量丢失了:
NSString *Name;
它们最初都是从 appdelegate 中的数据库加载的。
我也试过声明
char Name[30];
然后分配它,一切都很好。
现在呢?
最佳答案
在 .h 中:
extern NSString *global;
在某处的 .m 中:
NSString *global = @"foobar";
如果您需要在运行时设置全局变量,则必须在某处的方法中这样做;比如,applicationDidFinishLaunching:
。
在 NSString 的情况下,你在哪里分配给全局?当你这样做时,你会保留值(value)吗? “丢失”是什么意思?
请注意,变量不得在.h 中声明; extern 在 .h 中,NSString *global;
必须在一个且只有一个 .m 文件中。
关于iphone - Objective C iPhone 中的全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6550157/