iphone - Objective C iPhone 中的全局变量

标签 iphone objective-c global-variables

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

相关文章:

iOS Autolayout - 框架大小未在 viewDidLayoutSubviews 中设置

ios - 尝试将带有参数的方法作为选择器传递时出错

php - 覆盖 Laravel 5.1 中的配置变量

python - 在类中包装全局变量(python)

iphone - iPhone中的UITableViewController类未调用touchesBegan方法

iphone - 重复符号_OBJC_METACLASS_$_SBJsonParser

ios - UISearchBar 将状态栏颜色更改为白色

iphone - 根据在 iOS 中输入的数据创建 URL

ios - UIView 上的触摸事件

ios - 在 Swift/iOS 中声明全局类实例是否常见/可以