クラスオブジェクト自体からクラスの文字列名を取得しようとしています。
_// For instance
[NSArray className]; // @"NSArray"
_
object_getClassName(id obj)
を見つけましたが、それにインスタンスを渡す必要があり、私の場合は不必要な作業です。
それでは、クラスオブジェクトから文字列を取得するにはどうすればよいですか?notインスタンスですか?
NSString *name = NSStringFromClass ([NSArray class]);
他の方法に戻ることもできます:
Class arrayClass = NSClassFromString (name);
id anInstance = [[arrayClass alloc] init];
この代替案を検討してください:
_const char *name = class_getName(cls);
_
NSStringオブジェクトを割り当てて、ASCIIをNSString
表現に変換する必要がないため、はるかに高速です。これがNSStringFromClass()
の実装方法です。
入力を少し減らして別の方法で行う方法を次に示します。
NSString *name = [NSArray description];