为什么[NSNumber numberWithBool:YES]被调试器报告为null?

时间:2013-09-11 08:12:44

标签: objective-c xcode boolean nsnumber

在Xcode 4.6.3中运行这两行之后,xy都在调试器的变量视图窗格中标记为(null)并带有灰色文本

  NSNumber* y = [NSNumber numberWithBool:YES];
  NSNumber* z = [NSNumber numberWithBool:NO];

同上:

  NSNumber* literalYes = @YES;
  NSNumber* literalNo = @NO;

然而,如果我在 Variables View 窗格中按上下文单击这些项目,并从上下文菜单中选择Print Description,我会看到正确的1或{{ 1}}值。

为什么调试器的 Variables View 窗格会将这些对象报告为0

1 个答案:

答案 0 :(得分:1)

Xcode 4 调试器。 (见Herrman Klecker)上面的评论

忽略灰色文本“(null)”。

请查看此问题Xcode debugging: View value of NSNumber?,了解有关显示实际值的提示。

单向...... 在代码后设置断点,单击调试器控制台视图,然后键入po y使用“打印对象”命令。按Return / Enter执行表达式并在控制台中查看结果值。命令ppo适用于较早的gdb和较新的lldb调试器技术。有关示例,请参阅Debugging tips for Objective-C programming

另一种方式...... 打开Debugger视图,在Summary列中输入如下内容: {(int)[$VAR intValue]}