如何将字符组合作为常量命令放入iOS框架中

时间:2015-06-02 19:02:54

标签: ios objective-c unicode frameworks ascii

我是iOS编程新手。我正在开发一些SDK框架。我有一个带有三个字符的命令:'ESC''E''1',我想组合这三个字符来生成一个NSString并将这个NSString放入框架中。因此,其他人可以在框架中直接使用此Constant。

任何人都知道怎么做?因为在constant.h文件中,您不能使用任何运行时函数,如StringWithFormat。

我也考虑使用\ u组合三个字符。这样做:NSString * message2 = @“\\ u001b \\ u002d \\ u0031”;但它失败了。这被认为是这个长字符串:\\ u001b \\ u002d \\ u0031而不是ESC + E + 1

非常感谢。

1 个答案:

答案 0 :(得分:1)

ISO 10646限制

\u个通用字符排除某些字符。您特别感兴趣的是ESC。但你可以用八进制编码:

NSString *message2 = @"\033E1";

请注意,您通常不会将这些文件放在头文件中。您通常以这种方式实现:

MYMessages.h

// Declare it here
extern NSString * const MYMessage2;

MYMessages.m

// Define it here
NSString * const MYMessage2 = @"...";

尽可能避免像constant.h这样的通用文件。将常量放在最匹配的标题中。例如,NSGlobalDomainNSUserDefaults.h中定义的字符串常量,因为它与用户默认值一起使用。没有全球" CocoaStringConstants.h"文件。