重命名NSString常量

时间:2012-11-06 20:49:12

标签: objective-c xcode cocoa nsstring const

我使用了很多NSString常量,如:

static NSString * const REAColorPlaybackBackgroundKey = @"REAColorPlaybackBackgroundKey";
static NSString * const REAColorPlaybackForegroundKey = @"REAColorPlaybackForegroundKey";

有不必要的双重性,没有简单的方法来重命名它们。 Xcode的 Refactor 命令在此处不起作用,在范围内编辑全部也无法处理它。有更聪明的方法来定义NSString常量吗?

1 个答案:

答案 0 :(得分:1)

当然,尝试这样的事情:

#define STRING_CONSTANT(PREFIX, NAME, SUFFIX) static NSString *const PREFIX ## NAME ## SUFFIX = @"" #PREFIX #NAME #SUFFIX

// usage
STRING_CONSTANT(REA, ColorPlaybackBackground, Key);
STRING_CONSTANT(REA, ColorPlaybackForeground, Key);

显然,如果您愿意,可以将PREFIXSUFFIX设为常数而不是参数。