自动将Objective-C硬编码字符串文字移动到常量

时间:2016-02-03 21:58:42

标签: objective-c xcode macros automated-refactoring hardcoded

我有一个类似于100个类的项目源代码,可以在整个代码中自由使用硬编码字符串。

NSArray *sql_stmt = [[NSArray alloc] initWithObjects: DB_QUERY,
                   [[jsonDictionary objectAtIndex:i] valueForKey:@"RECORD_ID"],
                   [[jsonDictionary objectAtIndex:i] valueForKey:@"RECORD_LANGUAGE"],
                   [[jsonDictionary objectAtIndex:i] valueForKey:@"INDEX_PATH"],
                   [[jsonDictionary objectAtIndex:i] valueForKey:@"KEY"],
                   [[jsonDictionary objectAtIndex:i] valueForKey:@"VALUE"],nil];

要求是提取所有这些硬编码的字符串文字并将其移动到包含所有常量的类。

#define RECORD_ID @"RECORD_ID"
#define RECORD_LANGUAGE @"RECORD_LANGUAGE"

从每个班级手动移动所有这100个字符串将付出太多努力。

有没有办法可以在XCode中实现自动化?如果没有内置的方法,我想知道XCode是否支持为此目的编写宏。

虽然我可以快速整理基于Java或C#的GUI工具,我可以一次粘贴一个类的源代码并获取所有字符串并由自动生成的名称常量替换,我希望找到一个解决方案,无需离开XCode。

0 个答案:

没有答案