0

自分の winow.rootviewcontroller 名を知る必要があります。

例えば

    UITabBarController *demoTabBarController = [[UITabBarController alloc] init];
    [self.demoTabBarController setDelegate:self];
    self.demoTabBarController.viewControllers = [NSArray arrayWithObjects:mainNavController, searchView, challengeView, nil];
    self.window.rootViewController = self.demoTabBarController;

NSLog では、結果として demoTabBarController が必要です。それを達成する方法はありますか?

rootviewcontroller のクラス名は必要ないことに注意してください。

4

2 に答える 2

0

demoTabBarController は、UITabBarController へのポインタの名前です。実際にはメモリに保存されません。

[self.window.rootViewController className] を使用してクラス名を取得できますが、これは UITabBarController を返す必要があります

于 2012-12-12T13:47:14.227 に答える
0

直接ではありません。ポインター変数は、オブジェクト参照を与えた他のポインター変数に関する情報を保存しません。オブジェクトの履歴に関するある種の識別情報が必要な場合はUITabBarController、カスタム クラスに表示したいものをサブクラス化して保存する必要があります。

(なぜこれが便利だと思うかを説明すれば、より基本的な問題を解決する別の方法があるかもしれません。)

于 2012-12-12T13:51:37.823 に答える