gpt4 book ai didi

cocoa - 如何创建包含 NSLineSeparatorCharacter 的 NSString?

转载 作者:行者123 更新时间:2023-12-03 16:18:00 24 4
gpt4 key购买 nike

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];

给我字符串“This is8232on两行......”。

最佳答案

事实证明 -stringWithFormat: 是正确的方法。我只需要使用 %C 作为替代,而不是 %dNSLineSeparatorCharacter 是一个枚举(因此是整数),因此编译器认为 %d 是我应该使用的。但是 %C 是 Cocoa 插入 unichar 类型的方式。经过一点类型转换...

NSLog(@"This is%Con two lines…", (unichar)NSLineSeparatorCharacter);

工作起来就像一个魅力!

另请注意 Ken 下面的评论:您可以使用转义序列将字符直接嵌入到字符串文字中:

@"This is\u2028on two lines…"

关于cocoa - 如何创建包含 NSLineSeparatorCharacter 的 NSString?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11384857/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com