[Objective-cベース-2.10]descriptionメソッド
4723 ワード
A.インスタンスオブジェクト印刷-description
1.NSLog関数を使用して%@プレースホルダを使用すると、オブジェクトの-descriptionメソッドが呼び出されます.
2.-descriptionの戻り値を取得し、consoleに表示する
デフォルトの戻りポインタアドレス
out:
2014-11-13 17:08:53.553 07-description
方法
[7765:303] age = 33, name=
張三
Program ended with exit code: 0
B.クラスオブジェクト+description
クラスオブジェクトに使用するオブジェクトの印刷方法を提供し、デフォルトではクラス名を返します.
2014-11-13 17:12:15.890 07-description
方法
[7791:303]
これは
Person
クラス#クラス#
Program ended with exit code: 0
C.NSLogの更なる機能
1.プレースホルダ%p:ポインタアドレスを印刷し、インスタンスオブジェクトの-descriptionメソッドを書き換えた後、このプレースホルダを使用してアドレスを印刷できます.
2.マクロ定義、NSLogは、行番号__などの様々なマクロ定義変数を提供するLINE__、ファイル名_FILE__など
sample: NSLog(@“%d”, __LINE__);
1.NSLog関数を使用して%@プレースホルダを使用すると、オブジェクトの-descriptionメソッドが呼び出されます.
2.-descriptionの戻り値を取得し、consoleに表示する
デフォルトの戻りポインタアドレス
1 @implementation Person
2
3 - (NSString *)description
4 {
5 return [NSString stringWithFormat:@"age = %d, name=%@", self.age, self.name];
6 }
7
8 @end
9
10 int main(int argc, const char * argv[]) {
11 @autoreleasepool {
12 Person *p = [[Person alloc] init];
13 p.age = 33;
14 p.name = @" ";
15 NSLog(@"%@", p);
16 }
17 return 0;
18 }
out:
2014-11-13 17:08:53.553 07-description
方法
[7765:303] age = 33, name=
張三
Program ended with exit code: 0
B.クラスオブジェクト+description
クラスオブジェクトに使用するオブジェクトの印刷方法を提供し、デフォルトではクラス名を返します.
1 + (NSString *)description
2 {
3 return @" Person ";
4 }
5
6 int main(int argc, const char * argv[]) {
7 @autoreleasepool {
8 Class c = [Person class];
9 NSLog(@"%@", c);
10 }
11 return 0;
12 }
2014-11-13 17:12:15.890 07-description
方法
[7791:303]
これは
Person
クラス#クラス#
Program ended with exit code: 0
C.NSLogの更なる機能
1.プレースホルダ%p:ポインタアドレスを印刷し、インスタンスオブジェクトの-descriptionメソッドを書き換えた後、このプレースホルダを使用してアドレスを印刷できます.
2.マクロ定義、NSLogは、行番号__などの様々なマクロ定義変数を提供するLINE__、ファイル名_FILE__など
sample: NSLog(@“%d”, __LINE__);