我有几个obj-c类,每个类都需要一些在switch语句中使用的常量.
我已经尝试使用#define预处理器指令在.m文件中定义这些数字常量.所有这些常量以’kCell’开头.这似乎很好,但是Xcode的代码感觉正在向我展示每个’kCell’的前缀常数,无论我在哪里. #define常量有全局范围吗?如果是这样,那么定义纯本地类常量的最佳方法是什么,它不会在其他类中使用类似命名的常量进行类化?
解决方法
有自己的常量文件,如MyConstants.
在MyConstants.h中声明所有的常量:
static const int kRedisplayTileCount = 5 ; extern Nsstring* const kCellTitleKey;
并在MyConstants.m中定义它们
Nsstring* const kCellTitleKey = @"CellTitle";
通过将常量保存在单独的文件中,您可以轻松地追踪它们并更改其值.
这是定义纯常量的最佳方式.这也将避免重复的键.
只有你需要做的是将这个类导入你的其他类:
#import "MyConstants.h"
并直接使用这些键:
obj = [[NSUserDefaults standardUserDefaults] integerForKey: kCellTitleKey];