2012-04-24 109 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