我是iOS编程新手。我正在开发一些SDK框架。我有一个带有三个字符的命令:'ESC''E''1',我想组合这三个字符来生成一个NSString并将这个NSString放入框架中。因此,其他人可以在框架中直接使用此Constant。
任何人都知道怎么做?因为在constant.h文件中,您不能使用任何运行时函数,如StringWithFormat。
我也考虑使用\ u组合三个字符。这样做:NSString * message2 = @“\\ u001b \\ u002d \\ u0031”;但它失败了。这被认为是这个长字符串:\\ u001b \\ u002d \\ u0031而不是ESC + E + 1
非常感谢。
答案 0 :(得分:1)
\u
个通用字符排除某些字符。您特别感兴趣的是ESC。但你可以用八进制编码:
NSString *message2 = @"\033E1";
请注意,您通常不会将这些文件放在头文件中。您通常以这种方式实现:
// Declare it here
extern NSString * const MYMessage2;
// Define it here
NSString * const MYMessage2 = @"...";
尽可能避免像constant.h
这样的通用文件。将常量放在最匹配的标题中。例如,NSGlobalDomain
是NSUserDefaults.h
中定义的字符串常量,因为它与用户默认值一起使用。没有全球" CocoaStringConstants.h"文件。