1

可能重复:
在 iOS 应用程序中的哪里存储全局常量?

我想将配置变量存储在一个中心位置。变量在运行时不会改变。它们应该可以从项目中的任何类访问。

我目前的方法是有一个GlobalSettings.h文件,其中定义了这样的配置变量

#define kCacheAge 10.0 //Max. Cache Age in Seconds
#define kNavigationTitleTint colorWithRed:0.443 green:0.471 blue:0.502 alpha:1.0
#define kNavigationTitleFont boldSystemFontOfSize:20.0

...并在我需要的任何地方包括他们的名字。

缺点:

  • 我需要在每个类中手动包含这个 GlobalSettings.h 文件
  • 我不能将这些常量作为字符串的一部分插入(字符串处理似乎替换操作强)

有没有更好的方法来做到这一点,也许可以避免提到的缺点?存储配置变量的任何最佳实践?

4

2 回答 2

5

如果您GlobalSetting.h在项目 Prefix Header 中包含您的标题,它将自动包含在您项目中的每个文件中。在您的项目中查找名为<YourProjectName>-Prefix.pch. iOS 项目的标准项目如下所示:

//
// Prefix header for all source files of the 'IOSTest' target in the 'IOSTest' project
//

#import <Availability.h>

#ifndef __IPHONE_5_0
#warning "This project uses features only available in iOS SDK 5.0 and later."
#endif

#ifdef __OBJC__
    #import <UIKit/UIKit.h>
    #import <Foundation/Foundation.h>
#endif

在这种情况下,您将#import "GlobalSettings.h"在 Foundation 导入下方添加。

于 2013-01-05T15:15:28.587 回答
-2

一种选择是 INI 文件,因为一旦值更改,它们就不需要重新编译。

可以在此线程中找到一个简单的(未经我测试)示例。

于 2013-01-05T13:56:50.983 回答