iOS应用程序中的全局常量

时间:2014-08-29 12:41:13

标签: ios objective-c xcode plist

使用某些静态信息的最佳做法是:

  • 服务器基本网址
  • 某些路径文件
  • ...

我认为我们可以找到一些不同的解决方案:

  1. 可以在plist文件中添加这些信息;

  2. 可以在iOS应用的文件..Prefix.pch中添加一些#define;

  3. 可以创建一个文件constant.h,我们可以添加#define(s)并添加#import" constant.h"进入需要使用其中一些信息的每个文件或将此import指令添加到同一个Prefix.pch文件中

  4. 为此存在一些最佳做法?这些中最好的是什么?

2 个答案:

答案 0 :(得分:3)

我更喜欢与解决方案3类似的东西:

创建一个Constant文件,包含在Prefix.pch中。

虽然我真的讨厌#define方法。

相反,在Constants.h中使用:

extern NSString* const kStringConstant;

并在Constants.m中定义:

NSString* const kStringConstant = @"SomeStringConstant"

This answer解释了为什么你不应该使用#define

答案 1 :(得分:1)

我使用Constants.h文件的解决方案,该文件包含用#define定义的所有全局常量。 另外,Constants.h包含在Prefix.pch文件中。 处理plist有时可能需要更多代码而不仅仅是编写常量,但另一方面可以是更清晰的解决方案。