如何从 H 文件访问变量
How to access a variable from a H file
我正在 Constants.h 文件中定义一些变量。
#ifndef Constants_h
#define Constants_h
static NSString *SERVER_IMG_URL = @"http://localhost/img";
...
如果我在 M 文件中导入 Constants.h。我怎样才能访问 SERVER_IMG_URL??
我想用它,为了不在所有文件中重复url,只调用这个变量。因为,如果我需要更改 IP,在一个文件中更改它,而不是更多。
谢谢
希望对您有所帮助..
将其写入常量文件..
#define kURLname @"http://localhost/img"
在 .m 中导入常量文件后,在您的项目 .m 文件中像这样使用它...
NSString *SERVER_IMG_URL = kURLname;
在 Constant.h 文件中,您可以将变量声明为
FOUNDATION_EXPORT NSString *const SERVER_IMG_URL;
并在 .m 文件中
NSString *const SERVER_IMG_URL = @"http://localhost/img";
在 .pch 文件中导入 Contant.h 之后,整个项目都可以访问您的变量。
如果可以的话,我会避免使用#define。
它们更难调试,因为它们在预处理时被解压(所以你写的代码和你实际 运行 可能 完全 不一样)和缺少可以从命名类型获得的潜在类型安全检查。
我会使用 VMConstants.h 和 VMConstants.m 对来解决这个问题。
在您的 VMConstants.h
中从类似这样的内容开始
extern const NSString * const kURLname;
然后在您的 VMConstants.m 文件中
const NSString * const kURLname = @"http://localhost/img";
我会尽可能多地使用 const,以便它尽可能不可变(移动部分更少)并为您的 Constants 名称添加一个合适的前缀,以避免与其他认为第三方的人发生冲突库也需要常量。
我还会问问自己,您是否真的需要那个 Constants 文件,因为很可能随着时间的推移,它会变成垃圾场,并且会越来越大,直到您应用程序与它完全交织在一起。
更糟糕的是,人们可能会以非预期的方式重复使用这些值。颜色是发生这种情况的常见颜色,我发现突然间您的按钮和导航栏 UI 相互关联。
简而言之,尽可能避免暴露文字值(因此,将它们放在 m 中,只在 h 中暴露类型名称),并尽可能避免使用全局变量。
我正在 Constants.h 文件中定义一些变量。
#ifndef Constants_h
#define Constants_h
static NSString *SERVER_IMG_URL = @"http://localhost/img";
...
如果我在 M 文件中导入 Constants.h。我怎样才能访问 SERVER_IMG_URL??
我想用它,为了不在所有文件中重复url,只调用这个变量。因为,如果我需要更改 IP,在一个文件中更改它,而不是更多。
谢谢
希望对您有所帮助..
将其写入常量文件..
#define kURLname @"http://localhost/img"
在 .m 中导入常量文件后,在您的项目 .m 文件中像这样使用它...
NSString *SERVER_IMG_URL = kURLname;
在 Constant.h 文件中,您可以将变量声明为
FOUNDATION_EXPORT NSString *const SERVER_IMG_URL;
并在 .m 文件中
NSString *const SERVER_IMG_URL = @"http://localhost/img";
在 .pch 文件中导入 Contant.h 之后,整个项目都可以访问您的变量。
如果可以的话,我会避免使用#define。
它们更难调试,因为它们在预处理时被解压(所以你写的代码和你实际 运行 可能 完全 不一样)和缺少可以从命名类型获得的潜在类型安全检查。
我会使用 VMConstants.h 和 VMConstants.m 对来解决这个问题。
在您的 VMConstants.h
中从类似这样的内容开始extern const NSString * const kURLname;
然后在您的 VMConstants.m 文件中
const NSString * const kURLname = @"http://localhost/img";
我会尽可能多地使用 const,以便它尽可能不可变(移动部分更少)并为您的 Constants 名称添加一个合适的前缀,以避免与其他认为第三方的人发生冲突库也需要常量。
我还会问问自己,您是否真的需要那个 Constants 文件,因为很可能随着时间的推移,它会变成垃圾场,并且会越来越大,直到您应用程序与它完全交织在一起。
更糟糕的是,人们可能会以非预期的方式重复使用这些值。颜色是发生这种情况的常见颜色,我发现突然间您的按钮和导航栏 UI 相互关联。
简而言之,尽可能避免暴露文字值(因此,将它们放在 m 中,只在 h 中暴露类型名称),并尽可能避免使用全局变量。