如何将字符组合作为常量命令放入 iOS 框架
how to put characters combination as constant command into iOS framework
我是 iOS 编程新手。我现在正在开发一些 SDK 框架。我有一个包含三个字符的命令:'ESC' 'E' '1',我想将这三个字符组合起来生成一个 NSString 并将此 NSString 放入框架中。所以其他人可以直接在framework中使用这个Constant。
有人知道怎么做吗?因为在 constant.h 文件中,您不能使用任何 运行-time 函数,例如 StringWithFormat.
我也在考虑用\u来组合三个字符。这样做: NSString *message2 = @"\\u001b\\u002d\\u0031";但它失败了。这被认为是这个长字符串:\\u001b\\u002d\\u0031 而不是 ESC+E+1
非常感谢。
\u
通用字符受 ISO 10646 限制以排除某些字符。您特别感兴趣的是 ESC。但是你可以用八进制编码:
NSString *message2 = @"3E1";
请注意,您通常不会将这些放在 header 文件中。您通常以这种方式实现:
MYMessages.h
// Declare it here
extern NSString * const MYMessage2;
MYMessages.m
// Define it here
NSString * const MYMessage2 = @"...";
尽可能避免使用像 constant.h
这样的通用文件。将常量放在最匹配的 header 中。例如,NSGlobalDomain
是在 NSUserDefaults.h
中定义的字符串常量,因为它与用户默认值一起使用。没有全局 "CocoaStringConstants.h" 文件。
我是 iOS 编程新手。我现在正在开发一些 SDK 框架。我有一个包含三个字符的命令:'ESC' 'E' '1',我想将这三个字符组合起来生成一个 NSString 并将此 NSString 放入框架中。所以其他人可以直接在framework中使用这个Constant。
有人知道怎么做吗?因为在 constant.h 文件中,您不能使用任何 运行-time 函数,例如 StringWithFormat.
我也在考虑用\u来组合三个字符。这样做: NSString *message2 = @"\\u001b\\u002d\\u0031";但它失败了。这被认为是这个长字符串:\\u001b\\u002d\\u0031 而不是 ESC+E+1
非常感谢。
\u
通用字符受 ISO 10646 限制以排除某些字符。您特别感兴趣的是 ESC。但是你可以用八进制编码:
NSString *message2 = @"3E1";
请注意,您通常不会将这些放在 header 文件中。您通常以这种方式实现:
MYMessages.h
// Declare it here
extern NSString * const MYMessage2;
MYMessages.m
// Define it here
NSString * const MYMessage2 = @"...";
尽可能避免使用像 constant.h
这样的通用文件。将常量放在最匹配的 header 中。例如,NSGlobalDomain
是在 NSUserDefaults.h
中定义的字符串常量,因为它与用户默认值一起使用。没有全局 "CocoaStringConstants.h" 文件。