0

我有一个使用 NSString * 类型的方法传递给方法的变量,该变量实际上显示在调试器中:

po [myString class]
__NSCFString

如果我po myString从调试器提示符下,我可以看到字符串的值。但是,如果我 NSLog 它,它不会打印。据我了解, NSString 和 __NSCFString 是免费桥接的,因此可以像使用另一个一样使用。那么为什么不从 NSLog 语句中打印呢?我能做些什么来强迫它吗?

字符串是这样初始化的:

NSString *result = [NSString stringWithUTF8String:(const char *)content];

这个结果变量使用 NSString * 参数从一个对象传递到另一个对象。NSLog 语句如下所示:

NSLog(@"Did not find \n%@ %@\n%@",key, name, myString);

key其输出包括和name但不包括 的值myString。如果我在下一行设置断点,我可以使用po命令查询 myString 的值。

4

0 回答 0