2012-04-24 111 views
1

对不起,如果这个问题太简单了,但我总是想知道,我想听听专家的意见。我一直使用的是NSLog(@“%@”,object);我不知道如何解决这个问题。检查NSString的字符串,或查看内部有什么NSDictionary。所以我真的很好奇,如果你能在客观C.用%@描述对象(如UIButton,UIView,NSString,NSDictionary)的NSLog描述

使用这种技术来的NSLog所有对象根据我的经验,一个的NSLog为对象谁不喜欢有内容的文字只会给你实例描述,它将成为我认为的对象类和实例号(如UIViewUIButton)。

是否有任何情况下我会得到一个EXE_BAD_ACCESS记录一个对象(不是结构/原始变量)?还是我可以继续这样做,因为我到目前为止?

谢谢。

+0

如果指针无效,则可能会出现错误的访问错误。一个零指针会打印为“(NIL)”或者其他的(我完全忘记了)。 – 2012-04-24 01:47:22

回答

6

您可以安全地NSLog任何继承自NSObject的对象。将调用description方法产生输出。默认实现将返回类的名称,但您可以自行覆盖您自己的对象上的description,以生成任何您认为可能在调试过程中对您有帮助的文本。

+0

请注意,如果您在未分配或释放的对象上执行此操作,您将获得EXE_BAD_ACCESS。 – 2012-04-24 01:41:03

+0

@PRNDLDevelopmentStudios不错的昵称:-)它代表自动换档的字母标记位置吗? – dasblinkenlight 2012-04-24 01:43:38

+0

实际上,'description'方法的文档是[here](http://developer.apple.com/library/ios/#documentation/Cocoa/Reference/Foundation/Protocols/NSObject_Protocol/Reference/NSObject.html#//apple_ref/occ/intf/NSObject),在NSObject协议文档中。 – 2012-04-24 01:45:15