1. ホーム
  2. objective-c

[解決済み] Objective-Cのクラス→文字列のようなものです。[NSArray className] -> @"NSArray" のようになります。

2022-07-07 07:52:19

質問

クラスオブジェクト自身からクラスの文字列名を取得しようとしています。

// For instance
[NSArray className]; // @"NSArray"

私が見つけたのは object_getClassName(id obj) を見つけましたが、これはインスタンスを渡す必要があり、私の場合、それは不要な作業です。

では、どうすればクラスオブジェクトから文字列を取得できるかというと ではなく でなく、インスタンスから文字列を取得するにはどうすればよいのでしょうか?

どのように解決するのですか?

NSString *name = NSStringFromClass ([NSArray class]);

逆に戻ることもできます。

Class arrayClass = NSClassFromString (name);
id anInstance = [[arrayClass alloc] init];