本記事は「文字列のクラス名からインスタンスを動的に生成させる - iOSアプリ開発の逆引き辞典」に転記しました。
例えばplistで定義した@"HogeViewController"というNSString型のクラス名から、インスタンスを生成したい場合にNSClassFromString関数を使用します。
下記のサンプルコードでは、文字列から生成したViewControllerクラスを使用して画面遷移を行います。
Class vcClass = NSClassFromString(className); if (vcClass == nil) { return; // クラス名が取得出来なかった場合は処理しない } // 文字列(ViewControllerのクラス名)からインスタンスを生成する id viewController = [[vcClass alloc] initWithNibName:className bundle:nil]; // 作成したViewControllerインスタンスを使用してドリルダウンさせる [self.navigationController pushViewController:viewController animated:YES]; [viewController release];