Xcode 格式化字符串输出的整数

Xcode 格式化字符串输出的整数,xcode,debugging,Xcode,Debugging,在断点操作中,我将执行以下操作: @(const char *)[(NSString*)[myobject retainCount]UTF8String]@ 这将产生以下输出: <Error: Cannot access memory at address 0x2> 2009-04-18 09:58:48.085 myapp[80277:20b] retain count is: 1 它输出一个内存地址。但如果我在代码中这样做: NSLog(@"retain count is:

在断点操作中,我将执行以下操作:

@(const char *)[(NSString*)[myobject retainCount]UTF8String]@
这将产生以下输出:

<Error: Cannot access memory at address 0x2>
2009-04-18 09:58:48.085 myapp[80277:20b] retain count is: 1
它输出一个内存地址。但如果我在代码中这样做:

NSLog(@"retain count is: %d", [myobject retainCount]);
它给出以下输出:

<Error: Cannot access memory at address 0x2>
2009-04-18 09:58:48.085 myapp[80277:20b] retain count is: 1
在断点操作中正确输出所需的语法是什么


另外,在哪里可以找到断点操作格式键的完整列表?

您应该能够在“日志”操作上实际使用“调试器命令”断点操作,将命令文本设置为:

p(int)[myObject retainCount]

如果要记录Objective-C对象的描述:

po myObject

如果需要,可以在日志操作之前使用日志操作来显示一条消息,指示正在打印的内容


至于您在本例中记录的特定保留计数问题,直接检查保留计数并尝试以这种方式解决与内存相关的错误并不被认为是一种很好的做法。有关此操作的详细说明,请参阅。

您应该能够在“日志”操作上实际使用“调试器命令”断点操作,将命令文本设置为:

p(int)[myObject retainCount]

如果要记录Objective-C对象的描述:

po myObject

如果需要,可以在日志操作之前使用日志操作来显示一条消息,指示正在打印的内容


至于您在本例中记录的特定保留计数问题,直接检查保留计数并尝试以这种方式解决与内存相关的错误并不被认为是一种很好的做法。有关这一点的详细解释,请参阅。

retainCount返回一个数字。简单地将其转换为字符串是不正确的,因为它是一个数字,而不是字符串。要将数字打印为字符串,您必须调用:

printf("%d",[myobject retaincount]);
或打印此字符串:

[NSString stringWithFormat:@"%d",[myobject retaincount]];

retainCount返回一个数字。简单地将其转换为字符串是不正确的,因为它是一个数字,而不是字符串。要将数字打印为字符串,您必须调用:

printf("%d",[myobject retaincount]);
或打印此字符串:

[NSString stringWithFormat:@"%d",[myobject retaincount]];