FC2ブログ

--
--/--

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

2011
09/22


Debug時にどのメソッドの処理が走っているのか確かめるためのNSLog出力方法。
全ファイルから参照されるクラスのヘッダあたりに以下のマクロ定義を追加。

 
// __PRETTY_FUNCTION__:処理中のメソッド
// __LINE__:行数

#ifdef DEBUG
#define debugLog() NSLog((@"%s [Line %d]"), __PRETTY_FUNCTION__, __LINE__)
#else
#define debugLog()
#endif

これだけでは、コンソールに出力されないので以下の設定を追加。

プロジェクトファイルをクリックしたら、 "Build Settings" タブを選択し、
項目「GCC 4.2 - Preprocessing」の "Debug" の右空欄をダブルクリックする。
"+""-"ボタンと"Done"ボタンが配置されている小さなウィンドウが開くので、
"+"ボタンを押して「DEBUG」を追加。

DEBUG

設定が完了したら、ログを出力したいメソッドの処理内に定義したマクロを記述し実行。
今回の場合は、"debugLog()"。


#pragma mark 日付入力テキストフィールドに日付文字列をセットする処理
- (void)setSelectedDate {
debugLog();

NSDate *todaysDate = [NSDate date];
UITextField *textField = (UITextField *)[self.view viewWithTag:kTagCreateNewDateDateTextField];
NSDateFormatter *outputFormatter = [[[NSDateFormatter alloc] init] autorelease];
[outputFormatter setDateFormat:@"yyyy/MM/dd"];
NSString* dateString = [outputFormatter stringFromDate:todaysDate];
[textField setText:dateString];
}

上のようなメソッドが呼ばれたのであれば、次のように出力されます。

2011-09-22 21:10:02.397 MyCalendar[6890:207] -[CreateNewDateViewController setSelectedDate] [Line 54]


もちろん上記の設定は、DEBUG実行時のみ有効。
RELEASE時は出力されません。


プロフィール

Taku Sasahara

Author:Taku Sasahara
Hello world!!

バジルの息子。
法学部法律学科卒。
バリバリの文系プログラマです。
ペーペーです。

Facebook

My faborite books
僕のお気に入り書籍の本棚

最新トラックバック

スポンサーリンク

検索フォーム

ブロとも申請フォーム

QRコード
QR

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。