考虑这个伪代码类:
re
然后我们创建一个实例:
>>> i1 = len('VCALogParser_output_')
>>> i2 = len ('.log')
>>>
>>> '\n{}, {}\n'.format(s1[i1:-i2], s2[i1:-i2])
'\nARW, CZC\n'
好的,所以这看起来很容易管理......直到我们必须添加i18n ......然后才变成:
@interface Dude : NSObject
-(instancetype)initWithString1:(NSString*)string1 string2:(NSString2):string2 string3:(NSString*)string3;
@end
我正在寻找一种策略来减少这一行代码的冗长程度。在大多数情况下,我们没有将i18n字符串传递给参数,但是在我们这样做的情况下,它会使得读取代码非常困难。
答案 0 :(得分:0)
我传递nil作为第二个参数,并将这些字符串保存在我的英文Localizable.strings
文件中。您还可以定义较短的NSLocalizedString
宏并使用它。
如果您制作自己的宏,并使用genstrings
,则需要使用-s
选项让它知道您的宏。