-1

私はStoryboardingObjectiveCを初めて使用するので、からメソッドを呼び出す必要がありますUIVIewControllerStoryboarding初期化する前UIViewController、またはそこにポインタを割り当てる前にAppDelegate、AppDelegateプロパティにアクセスして、任意のクラスからメソッドを呼び出すだけです。Storyboarding自分で初期化していない場合はどうすればいいUIViewControllerですか?私のアプリはUITabBar、問題があればアプリケーションです。

4

2 に答える 2

1

ストーリーボードのルートビューコントローラーは、アプリデリゲートから取得できます。例えば:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    UITabbarController *tbc = (UITabbarController *)self.window.rootViewController;

    // Do any setup you want to here
    // You aren't setting up the controller - just accessing the one that has been set up for you by the storyboard

    return YES;
}
于 2012-08-13T09:44:12.977 に答える
-1

このメソッドをどのクラスからでも利用できるようにしたい場合は、同じことを続けることができます。AppDelegateに配置し、使用するコントローラー上の共有インスタンスを取得します。(すべてのアプリケーションがappdelegateにアクセスできます)したがって、アプリデリゲートのヘッダーをインポートし、特定のappdelegatenameクラスの新しいインスタンスを作成して、共有デリゲートを呼び出します。次に、そのクラスにあるかのようにメソッドを使用できます。

さらに、このようなものを使用できます

#import "AppDelegate.h"
#define appDelegate (AppDelegate *) [[UIApplication sharedApplication] delegate]

ストーリーボードで指定されている任意のビューコントローラーからメソッドを呼び出したい場合は、それらの識別子を参照することで呼び出すことができます。

PreviewViewController *tmp = [[self storyboard] instantiateViewControllerWithIdentifier:@"PreviewViewController"];
于 2012-08-13T09:43:45.143 に答える