将表示我的格式说明符的字符串传递给stringWithFormat并查看问题

时间:2010-05-26 01:35:32

标签: iphone objective-c nsstring

如果我调用“[NSString stringWithFormat:@”Testing \ n%@“,variableString]”;我得到了我所期望的,即测试,然后是新行,然后是variableString的内容。

然而,如果我尝试 NSString * testString = @“Testing \ n%@”; //原谅这里的速记 [NSString stringWithFormat,testString,variableString]

输出实际上字面上将\ n写入屏幕而不是换行符。对此有何解决方法?我觉得很奇怪

1 个答案:

答案 0 :(得分:1)

通常情况并非如此。编译器将\n转换为换行符 - 程序永远不会看到您将其写为\n

但是,如果你实际上试图使用你从其他地方获得的字符串(也就是说,你没有在源文件中真正写出来的字符串)那么字面上包含字符序列“\ n”,是的,它将按字面打印。在这种情况下,您需要自己用换行符替换“\ n”。