Objective-Cでのデバック NSLogについて




iPhone開発関連の記述です。
開発を行う際によく結果確認のため多用するのが
NSLogです。
本当基本的な事ですが記述しておきます。

[文字列]


NSLog(@"test");
表示結果:test
testという文字を表示させたい時。
" と " に囲まれた間が文字列として解釈されます。
初期記述の"の前に必ず@を入れてください。
@により、それに続く文字列がNSStringオブジェクトになります。

[改行]

NSLog(@"test \n create");
表示結果:test
testとcreateの文字列の間に改行コードを入れたい場合に\nを使用します。

["文字列表示]


NSLog(@"\"test\"");
表示結果:"test"
"を文字列に含めたい場合に使用します。

[NSString]


NSString *name = [NSString stringWithFormat:@"test"];
NSLog(@"%@",name);
表示結果:test
[""]の間に%@を入れ、表示したいNSStringオブジェクトを,の後に定義します。

[int]


int i = 1;
NSLog(@"%d",i) ;
表示結果:1
[""]の間に%dを入れ、表示したいintオブジェクトを,の後に定義します。

[BOOL]


BOOL y = YES;
NSLog(@"%d",y) ;
表示結果:1
BOOL n = NO;
NSLog(@"%d",n) ;
表示結果:0
BOOLはFoundation.framework内で0,1に置き換えられるように指定されているので
表示させる場合はintと同様の%dを使用します。

[double]


double d = 0.1;
NSLog(@"%f",d) ;
表示結果:0.100000
[""]の間に%fを入れ、表示したいdoubleオブジェクトを,の後に定義します。

[float]


float f = 0.1f;
NSLog(@"%f",f) ;
表示結果:0.100000
[""]の間に%fを入れ、表示したいfloatオブジェクトを,の後に定義します。



以下TestViewController.m、viewDidLoadメソッドで表示
[クラス名]


NSLog(@"%@", NSStringFromClass([self class]));
表示結果:TestViewController

[メソッド名]


NSLog(@"%s", _cmd);
NSLog(@"%@", NSStringFromSelector(_cmd));
表示結果:viewDidLoad

[クラス名+メソッド名]


NSLog(@"%s", __func__);
NSLog(@"%s", __FUNCTION__);
表示結果:-[TestViewController viewDidLoad]

[ソースファイル名]


NSLog(@"%s", __FILE__);
表示結果:/Users/admin/Desktop/Test/Classes/TestViewController.m

[ソース内行番号]


NSLog(@"%d", __LINE__);
表示結果:68

[selector*1;
表示結果:selector cut: 等






Shareしていただけると励みになりますので
良ければよろしくお願いします

*1:SEL)action)]

NSLog(@"selector %@",NSStringFromSelector(action