NSString返回乱码

时间:2010-07-31 02:46:19

标签: iphone objective-c nsstring

完全迷失了这个。这是我的代码:

theColor = [NSString stringWithFormat:@"white"];
NSLog(@"%s", theColor);

返回:

†t†å

我一定是在做一些愚蠢的事情,但是在我的生活中无法弄明白。

3 个答案:

答案 0 :(得分:8)

将您的打印更改为:

NSLog(@"%@", theColor);

希望它有所帮助。

问题是%s需要一个C字符串(带有NULL终结符的char数组),并且您传递的NSString实例与C字符串不同。以打印NSString内容的格式所需的修饰符为%@

答案 1 :(得分:4)

%s用于打印C风格的字符串。

%@用于打印Objective-C对象(如NSString)。

答案 2 :(得分:0)

BTW:“theColor = [NSString stringWithFormat:@”white“];” - 为什么不“theColor = @”white“;”?

问候