-1
UINavigationController *homeNavController;
Class class_ = [YBHomePageViewControlleriPad class];
if(iPhone){
    class_ = [YBHomePageViewControlleriPhone class];
}
class_ *homeController = [[class_ alloc] initWithNibName:NSStringFromClass(class_) bundle:nil];
homeNavController = [[UINavigationController alloc] initWithRootViewController:homeController];

表示-「宣言されていない識別子homeControllerの使用」。

これを行う方法はありますか?

4

2 に答える 2

1

クラスが両方ともUIViewControllerのインスタンスであると仮定すると、homeControllerをUIViewControllerとして宣言するだけです。

于 2013-01-24T10:09:54.293 に答える
0

classNameを文字列に割り当てて、そのタイプのオブジェクトを形成することはできません。

あなたは次のように実行するためにいくつかの高度で難しい方法を使用する必要があります:

  1. Obj-Cランタイム。

  2. 「リフレクション」は、クラスとオブジェクトの実行時のイントロスペクションを可能にします。

  3. IBOutletCollection。

于 2013-01-24T10:13:43.797 に答える