2009-09-03 6 views
27

私はNSStringとして、メソッドを所有しているクラスの名前を必要とします。例:SomeClass内部-fooBar方法ありますし、その-fooBar方法は、いくつかのコードを実行します。このコードは、どのクラスがそれを所有しているかを表示する必要があります。つまり、そのメソッドが属するクラスです。だから、クラス名を動的に決定するために、私はデバッグのためにクラス名を入力する必要があるので、クラス名をNSStringに入力することはできません。説明するのは難しい。何か案が?NSStringのようにメソッドのクラスの名前を取得するには?

答えて

9
NSLog(@"%@",[self className]); 

アップデート:申し訳ありませんが、classNameはiPhoneには存在しませんでした。 上記のコメントが示唆したように、

NSLog(@"%@", NSStringFromClass([self class])); 

..代わりに使用してください。 Macの

60

、あなたが使用することができます:iPhoneで

NSString *className = [self className]; 

または

NSString *className = NSStringFromClass([self class]); 

を、[self className]は、あなたが使用する必要がありますので、存在しません:

NSString *className = NSStringFromClass([self class]); 
3

試してみてください。

[[self class] description] 
+0

あなたが望むものより少し多くなるでしょう:

関連する問題