メソッドを所有するクラスの名前がNSString
のように必要です。例:SomeClass
内に-fooBar
メソッドがあり、その-fooBar
メソッドがいくつかのコードを実行します。このコードは、どのクラスがそれを「所有」しているかを出力する必要があります。つまり、そのメソッドがどのクラスに属しているかを示します。したがって、クラス名を動的に決定するデバッグ目的で必要になるため、NSString
にクラス名をハードタイプすることはできません。説明するのは難しい。何か案が?
Macでは、次を使用できます。
NSString *className = [self className];
または
NSString *className = NSStringFromClass([self class]);
IPhoneでは、[self className]
が存在しないため、以下を使用する必要があります。
NSString *className = NSStringFromClass([self class]);
NSLog(@"%@",[self className]);
更新:申し訳ありませんが、classNameがiPhoneに存在しないことに気づきませんでした。上記のコメントが示唆したように;使用する ..
NSLog(@"%@", NSStringFromClass([self class]));
..代わりに。
試してみてください:
[[self class] description]