Objective-C:如何分组一系列的string常量?
我以macros观的方式定义了一系列的string常量,
#define EXT_RESULT_APPID @"appid" #define EXT_RESULT_ERROR_CODE @"errorcode" #define EXT_RESULT_PROGRESS @"progress" ...
所有这些常量都应该用在同一个上下文中,所以我想把它们限制在同一个命名空间中,我不想让它们成为全局的 ,就像这个post所说的那样。
另一方面,我可以把所有的数字常量放在一个枚举中,但不适用于string。 那我怎么能把这些相关的string常量分组呢?
这里有一个方法:
MONExtResult.h
// add __unsafe_unretained if compiling for ARC struct MONExtResultStruct { NSString * const AppID; NSString * const ErrorCode; NSString * const Progress; }; extern const struct MONExtResultStruct MONExtResult;
MONExtResult.m
const struct MONExtResultStruct MONExtResult = { .AppID = @"appid", .ErrorCode = @"errorcode", .Progress = @"progress" };
正在使用:
NSString * str = MONExtResult.AppID;
创build一个头文件,在其中声明您的string并在需要时导入它
您可以创build一个头文件名称“Constants.h”。 那么你需要导入这个头文件你想要使用这些常量,如:
#import "Constants.h"
创build一个头文件说Constants.h
在这个文件中添加所有的常量。 这些可以是你想在你的项目的不同类中使用的常量。
#define EXT_RESULT_APPID @"appid" #define EXT_RESULT_ERROR_CODE @"errorcode" #define EXT_RESULT_PROGRESS @"progress"
现在,不要在每个类中导入这个Constants.h
,而是在<project name>-Prefix.pch
文件中导入File。
#import "SCConstants.h"
现在你可以在项目的任何一个类中使用常量来缓解这个问题。