Cocoa 如何创建包含NSLineSeparatorCharacter的NSString?
Cocoa 如何创建包含NSLineSeparatorCharacter的NSString?,cocoa,nsstring,Cocoa,Nsstring,NSString对unicode非常友好。因此,通常当我想要创建包含unicode的字符串时,我可以直接将其弹出到字符串文本中,如下所示: NSString *myString = @"Press ⌘Q to quit…"; 但使用行分隔符(也称为: NSLineSeparatorCharacter,Unicode U+2028,UTF-8 E2 80 A8)。编译器(正确地)将其解释为换行符,这在C语法中是不允许的 -stringWithFormat:也没有帮助。尝试 NSString *m
NSString
对unicode非常友好。因此,通常当我想要创建包含unicode的字符串时,我可以直接将其弹出到字符串文本中,如下所示:
NSString *myString = @"Press ⌘Q to quit…";
但使用行分隔符(也称为:
<代码>NSLineSeparatorCharacter,Unicode U+2028,UTF-8 E2 80 A8)。编译器(正确地)将其解释为换行符,这在C语法中是不允许的
-stringWithFormat:
也没有帮助。尝试
NSString *myString = [NSString stringWithFormat@"This is%don two lines…", NSLineSeparatorCharacter];
给我字符串“这是两行上的8232…”。结果是
-stringWithFormat:
是正确的方法。我只需要用%C
代替%d
NSLineSeparatorCharacter
是一个枚举(因此是整数),因此编译器认为我应该使用%d
。但是%C
是Cocoa插入unichar
类型的方式。用一点铸造
NSLog(@"This is%Con two lines…", (unichar)NSLineSeparatorCharacter);
工作起来很有魅力
还要注意Ken在下面的评论:您可以使用转义序列将字符直接嵌入字符串文字:
@"This is\u2028on two lines…"
您也可以使用转义序列嵌入角色:
@“这是\u2028,在两行上…”
@KenThomases非常正确。谢谢