我有一个变量传递给使用类型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的值。