当前位置:  开发笔记 > IOS > 正文

格式化字符串输出的整数

如何解决《格式化字符串输出的整数》经验,为你挑选了2个好方法。

在断点动作中,我要这样做:

@(const char *)[(NSString*)[myobject retainCount]UTF8String]@

这给出了这个输出:


如果我这样做:

@(NSString*)[myboject retainCount]@

它输出一个内存地址.但如果我在代码中这样做:

NSLog(@"retain count is: %d", [myobject retainCount]);

它给出了这个输出:

2009-04-18 09:58:48.085 myapp[80277:20b] retain count is: 1

在断点操作中正确输出所需的语法是什么?

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



1> Sean Murphy..:

您应该能够在"Log"操作上实际使用"Debugger Command"断点操作,将命令文本设置为:

p (int)[myObject retainCount]

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

po myObject

您可以使用之前的日志操作显示指示正在打印的内容的消息(如果需要).

至于你在这种情况下记录的特定保留计数问题,直接检查保留计数并尝试以这种方式解决与内存相关的错误并不是一种很好的做法.有关此问题的详细解释,请参阅此帖子.



2> Ed Marty..:

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

printf("%d",[myobject retaincount]);

或打印出这个字符串:

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

推荐阅读
wangtao
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有