Hatena::ブログ(Diary)

k2ダイアリー

2010-09-26

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((SEL)action)]

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

表示結果:selector cut: 等



Shareしていただけると励みになりますので

良ければよろしくお願いします

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証