2012-04-24 6 views
1

この質問は単純すぎますが、私はいつも疑問に思っていましたが、私は専門家の意見を聞きたいと思っています。NSLog on Object(UIButton、UIView、NSString、NSDictionaryのように)説明が%@

私はいつも使用していますNSLog(@ "%@"、オブジェクト);NSStringの文字列をチェックするか、NSDictionaryが内部にあるものを確認してください。だから私はあなたが私の経験によると客観C.

のNSLogにすべてのオブジェクトを、この技術を使用することができるかどうかについては本当に好奇心、コンテンツのようなテキストは、単にあなたを与えるだろう持っていないオブジェクトへののNSLogインスタンスの説明。これはオブジェクトクラスとインスタンス番号です(UIViewまたはUIButtonなど)。

私はEXE_BAD_ACCESSオブジェクト(構造/プリミティブ変数ではありません)のロギングにどのような状況がありますか?またはこれまでのようにこれを続けてもいいですか?

ありがとうございました。

+0

ポインタが無効な場合、不正なアクセスエラーが発生する可能性があります。 nilポインタは '(NIL)'または何らかのそのようなものとして印刷されます(私は正確に何を忘れていますか)。 –

答えて

6

安全にNSLogNSObjectから継承するオブジェクトです。 descriptionメソッドが呼び出され、出力が生成されます。デフォルトの実装ではクラスの名前が返されますが、デバッグ中に役立つと思われるテキストを作成するには、自分のオブジェクトにdescriptionを自由にオーバーライドすることができます。

+0

未割り当てまたは解放されたオブジェクトでこれを行うと、EXE_BAD_ACCESSが表示されます。 –

+0

@PRNDLDevelopmentStudios素敵なニックネーム:-)それは自動ギアシフトの位置を示す文字を表していますか? – dasblinkenlight

+0

実際には、 'description'メソッドのdocは[ここ]です(http://developer.apple.com/library/ios/#documentation/Cocoa/Reference/Foundation/Protocols/NSObject_Protocol/Reference/NSObject.html#//apple_ref/occ/intf/NSObject)、NSObjectプロトコルdocにあります。 –

関連する問題