NSLog

2010年10月17日日曜日 | Published in | 0 コメント

このエントリーをはてなブックマークに追加

[前回] Cocoaの日々: __PRETTY_FUNCTION__

NSLog でどんな情報が表示できるか少し調べてみた。

まとめ


シンボル説明
__FILE__ファイル名/proj/classes/ViewController.m
__LINE__ソースコードの行番号364
__FUNCTION__メソッド名(関数名)-[ViewController viewDidLoad:]
__PRETTY_FUNCTION__クラス名とメソッド名-[ViewController viewDidLoad:]


__FILE__の例


コード
NSLog(@"__FILE__: %s", __FILE__);
結果
__FILE__: /Users/hashi/Development/
    IOS-Sample-Code/XcodeMacro/Classes/ViewController.m

__LINE__の例


コード
NSLog(@"__LINE__: %d", __LINE__);
結果
__LINE__: 44


__FUNCTION__の例


クラスメソッド内

コード
+ (void)ClassFooMethodWith:(NSString*)arg1 and:(NSString*)arg2
{
 NSLog(@"__FUNCTION__: %s", __FUNCTION__);
}
結果
__FUNCTION__: +[ViewController ClassFooMethodWith:and:]


インスタンスメソッド内

コード
- (void)InstanceFooMethodWith:(NSString*)arg1 and:(NSString*)arg2
{
 NSLog(@"__FUNCTION__: %s", __FUNCTION__);
}
結果
__FUNCTION__: -[ViewController InstanceFooMethodWith:and:]

関数内

コード
void Function(NSString* arg1)
{
 NSLog(@"__FUNCTION__: %s", __FUNCTION__);
}
結果
__FUNCTION__: Function


__PRETTY_FUNCTION__の例


クラスメソッド内

コード
+ (void)ClassFooMethodWith:(NSString*)arg1 and:(NSString*)arg2
{
 NSLog(@"__PRETTY_FUNCTION__: %s", __PRETTY_FUNCTION__);
}
結果
__PRETTY_FUNCTION__: +[ViewController ClassFooMethodWith:and:]

インスタンスメソッド内

コード
- (void)InstanceFooMethodWith:(NSString*)arg1 and:(NSString*)arg2
{
 NSLog(@"__PRETTY_FUNCTION__: %s", __PRETTY_FUNCTION__);
}
結果
__PRETTY_FUNCTION__: -[ViewController InstanceFooMethodWith:and:]

関数内

コード
void Function(NSString* arg1)
{
 NSLog(@"__PRETTY_FUNCTION__: %s", __PRETTY_FUNCTION__);
}
結果
__PRETTY_FUNCTION__: Function


参考情報


NSLog:NSLog
NSLogの日本語リファレンス。書式が詳しく解説されていて役立つ。

NSLog tips and tricks - Stack Overflow
NSLogの様々な Tips。面白い。

Responses

Leave a Response

人気の投稿(過去 30日間)