質問

この質問に対する答えを簡単に見つけることができると思うでしょう。

私のアプリにはいくつかのビューが含まれており、メインビューには、他のビューを通してユーザー、マイク、およびカメラから徐々に収集する情報の束が表示されます。それはすべて、1つの大きなクライマックスの「送信ボタン」で終わることになっています。その時点で、データは安全に保存されます(現在はSQLデータベースにあります...しかし、それは別のストーリーです)。

それが完了したら、私はプロセス全体を起動することを望んでいます。 Androidでは、新しい意図を投げて古い意図を破壊することができます。

私はアプリ代表から始めることになっていることになっています(以下のコードを参照)。さて、問題は、ここからどこへ行くのかということです。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    // Override point for customization after application launch.
    self.mainViewController = [[MainViewController alloc] initWithNibName:@"MainViewController" bundle:nil];
    self.window.rootViewController = self.mainViewController;
    self.mainViewController.managedObjectContext = self.managedObjectContext;

    [self.window makeKeyAndVisible];
    return YES;
}
役に立ちましたか?

解決 2

したがって、かなりの掘削の割合と試行錯誤の後。私はそれが望むように機能する何かを見つけました。

アプリデリゲートに特別な機能を作成しました。これは以下を実行します。

- (void) newScreen
{
    self.mainViewController = [[MainViewController alloc] initWithNibName:@"MainViewController" bundle:nil];
    self.window.rootViewController = self.mainViewController;
    self.mainViewController.managedObjectContext = self.managedObjectContext;
}

次に、メインビューコントローラーから、私はその関数を呼び出します

[(AppDelegate *)[[UIApplication sharedApplication] delegate] newScreen];

やさしい...

他のヒント

RootViewControllerを開始位置として作成します。 rootViewControllerがロードされたら、初期化して最初のデータ入力プロセスを追加します。これにより、送信を押すと、PopTorootViewControllerに電話し、rootViewContollerがロードされると、最初のデータ入力プロセスが初期化され、ロードされます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top